????

Your IP : 216.73.216.143


Current Path : C:/inetpub/vhost/bcvt.kontum.gov.vn/www/
Upload File :
Current File : C:/inetpub/vhost/bcvt.kontum.gov.vn/www/27-es5.js.map

{"version":3,"sources":["webpack:///node_modules/arcgis-js-api/core/Quantity.js","webpack:///node_modules/arcgis-js-api/core/quantityUtils.js","webpack:///node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js","webpack:///node_modules/arcgis-js-api/core/tsSupport/restHelper.js","webpack:///node_modules/arcgis-js-api/views/3d/interactive/manipulatorUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/interactive/measurementTools/directLineMeasurement3D/LaserLineRenderer.js","webpack:///node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/Label.js","webpack:///node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/LabelSegment.js","webpack:///node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/PathSegmentInterpolator.js","webpack:///node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/UnitNormalizer.js","webpack:///node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/labelUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/viewUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/layers/graphics/graphicUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/support/imageUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/DiscardOrAdjustAlpha.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/HighlightData.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DecodeNormal.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ReloadableShaderModule.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/AutoDisposable.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/BoundingInfo.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultTextureUnits.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterial.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterialTexture.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Geometry.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryData.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryRecord.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryUtil.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/HighlightUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IdGen.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Intersector.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/IntervalUtilities.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Layer.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Material.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Object3D.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Octree.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/ResizableFloat32Array.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/WebGLDriverTest.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/doublePrecisionUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/glUtil3D.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/intersectorUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/lib/screenSizePerspectiveUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/DefaultMaterial.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/RibbonLineMaterial.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/VisualVariableMaterialParameters.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/WaterGLMaterial.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/WaterTechnique.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/DefaultBufferWriter.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/waterMaterialUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/lineStippleUtils.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/Instance.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/InstancedRenderer.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/MergedRenderer.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/utils.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/LaserLinePrograms.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLine.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/RibbonLineTechnique.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/WaterSurface.glsl.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/resolver.js","webpack:///node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/sources/shaderRepository.js","webpack:///node_modules/arcgis-js-api/views/interactive/Manipulator3D.js","webpack:///node_modules/arcgis-js-api/views/overlay/LineOverlayItem.js","webpack:///node_modules/arcgis-js-api/views/overlay/TextOverlayItem.js"],"names":["t","i","n","e","measure","measureForUnit","value","unit","Object","defineProperty","prototype","get","isBaseUnit","enumerable","configurable","toUnit","convertUnit","toBaseUnit","baseUnitForUnit","toDecimalString","formatDecimal","r","a","Error","formatMetricLength","formatMetricVerticalLength","o","formatMetricArea","u","formatImperialLength","f","formatImperialVerticalLength","l","formatImperialArea","m","formatDMS","raw","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","c","s","p","diffuse","transparent","writeDepth","cullFace","opacity","castShadows","softwareInstanced","renderOccluded","v","Manipulator3D","view","renderObjects","geometry","createSphereGeometry","material","g","vec3","subtract","sv3d","cross","d","sm4d","mat4","invert","transformMat4","Math","atan2","normalize","getViewForGraphic","isSome","computeAttachmentOrigin","spatialReference","elevationAlignedLocation","h","isNone","computeCentroid","location","hydrateGeometry","createManipulatorMaterial","createSphereManipulator","calculateInputRotationTransform","calculateTranslateRotateFromBases","placeManipulatorAtGraphic","copy","vec4","set","dot","vec3f64","create","vec4f64","_","glowColor","glowWidth","innerColor","innerWidth","globalAlpha","_projInfo","_zScale","vec2f64","_focusPlaneActive","_focusSphereActive","_segmentActive","_focusPosition","_focusSpherePosition","_segmentStartPosition","_segmentEndPosition","canRender","_tempNormal","_tempDir","_tempUp","_tempVec3","_tempVec4","_renderCoordsHelper","_params","copyParameters","_requestRender","setParameterValues","updateParameters","initializeRenderContext","_initContext","rctx","_quadVAO","createQuadVAO","_laserLineProgram","programRep","getProgram","program","_laserLinePipelineState","makePipelineState","blending","simpleBlendingParams","colorWrite","defaultColorWriteParams","uninitializeRenderContext","dispose","render","camera","bindProgram","setPipelineState","inverseProjectionInfo","projectionMatrix","fullWidth","fullHeight","setUniform4fv","setUniform2fv","setUniform2f","near","far","setUniform1f","computeScreenPixelSizeAt","worldUpAtPosition","viewMatrix","distance","P","lerp","b","setAltitude","setUniform3fv","y","setUniform1i","bindTexture","offscreenRenderingHelper","linearDepthTexture","S","pixelRatio","bindVAO","drawArrays","requestRender","_textItem","visible","_calloutItem","width","_visible","_calloutVisible","fontSize","text","_updateVisibility","addToView","overlay","items","addMany","removeFromView","destroyed","removeMany","updatePosition","position","anchor","abs","startPosition","endPosition","origin","start","end","update","midpoint","_startPosition","_endPosition","eval","Linear","vectorToVector","SphericalECEFSpatialReference","_destSR","slerp","Spherical","_updateNormalizationFactors","_spatialReference","normalizeDistance","_metersPerDistanceUnit","normalizeElevation","_metersPerElevationUnit","normalizeArea","_squareMetersPerAreaUnit","getMetersPerUnitForSR","projectPoint","renderToScreen","screenSpaceTangent","vec2","negate","scale","add","T","mirrorPosition","computeLabelPositionFromPoint","positionLabelOnPoint","computeLabelPositionFromSegment","positionLabelOnSegment","computeLabelPositionFromCorner","computeLabelPositionFromPlane","positionLabelOnCorner","createRenderScreenPointArray","createRenderScreenPointArray3","createScreenPointArray","mixin","clone","push","pop","identity","translate","A","x","_stage","getCamera","renderCoordsHelper","toRenderCoords","renderArrayToScreen","j","copyParameter","resizeArray","scaleTranslateMatrix","pointToPointScreenDistance","pointToScreenPositionDistance","type","isHydratedGeometry","center","centroid","extent","paths","getPointOnPath","getPathLength","makeDehydratedPoint","isFinite","zmin","xmax","xmin","ymax","ymin","zmax","rings","ringsCentroid","hasZ","clonePoint","pointToPoint","height","geometries","data","vertexAttributes","auxpos1","geometryVertexAttrsUpdated","V","ONES","R","Array","max","fromArray","w","isPrimitive","depth","fromValues","z","D","M","isArray","O","mat4f64","rotateZ","PI","rotateX","rotateY","B","minDemResolution","isPoint","minDemResolutionForPoints","maximumDimension","enlargeExtent","updateVertexAttributeAuxpos1w","mixinColorAndOpacity","overrideColor","computeObjectScale","computeSizeWithResourceSize","validateSymbolLayerSize","isValidSize","computeObjectRotation","demResolutionForBoundingBox","namedAnchorToHUDMaterialAnchorPos","bottom","left","right","top","atob","split","ArrayBuffer","Uint8Array","charCodeAt","Blob","responseType","then","dataURItoBlob","requestImage","vertex","code","glsl","DecodeSymbolColor","fragment","alphaDiscardMode","uniforms","DiscardOrAdjustAlpha","TEXTURE_ALPHA_CUTOFF_DEFAULT","output","receiveShadows","varyings","ForwardLinearDepth","Offset","slicePlaneEnabled","extensions","sliceHighlightDisabled","Slice","bindUniforms","slicePlane","basis1","basis2","bindUniformsWithOrigin","linearDepth","Transform","setUniformMatrix4fv","mat4f32","normalType","attributes","include","DecodeNormal","NormalAttribute","PositionAttribute","vvSize","vvOpacity","defines","addInt","vvColor","RibbonVertexPosition","attributeTextureCoordinates","TextureCoordinateAttribute","attributeColor","VertexColor","VertexNormal","viewInvTransp","supportsTextureAtlas","TextureAtlasLookup","VertexTextureCoordinates","verticalOffsetEnabled","screenSizePerspectiveEnabled","ScreenSizePerspective","viewingMode","VerticalOffset","RgbaFloatEncoding","OutputDepth","OutputHighlight","highlightDepthTexture","setUniform4f","viewport","bindOutputHighlight","AnalyticalSkyModel","vertexTangets","doubleSidedMode","ComputeNormalTexture","lightingSphericalHarmonicsOrder","usePBR","EvaluateAmbientLighting","receiveAmbientOcclusion","EvaluateAmbientOcclusion","EvaluateMainLighting","PhysicallyBasedRendering","ReadShadowMap","useOldSceneLightInterface","PiUtils","L","C","EvaluateSceneLighting","Gamma","HighlightData","addFloat","stippleEnabled","stippleUVMaxEnabled","stippleOffColorEnabled","LineStipple","NormalUtils","Normals","usePBRforWater","useCustomDTRExponentForWater","hasMetalnessAndRoughnessTexture","hasEmissionTexture","hasOcclusionTexture","PhysicallyBasedRenderingParameters","metallicFactor","roughnessFactor","emissiveFactor","reflectanceFactor","shadowMappingEnabled","shadowMap","bindView","VisualVariables","vvSizeEnabled","vvSizeMinSize","vvSizeMaxSize","vvSizeOffset","vvSizeFactor","vvColorEnabled","setUniform1fv","vvColorValues","vvColorColors","vvOpacityEnabled","vvOpacityValues","vvOpacityOpacities","vvSymbolAnchor","setUniformMatrix3fv","vvSymbolRotationMatrix","bindUniformsWithOpacity","bindUniformsForSymbols","Water","WaterDistortion","stages","forEach","ColorConversion","doublePrecisionRequiresObfuscation","testWebGLDriver","DoublePrecision","MixExternalColor","getLogger","_includedModules","Map","has","error","shaderModule","generateSource","concat","join","ShaderBuilder","_entries","_set","Set","map","WHITELIST_VERTEX","WHITELIST_FRAGMENT","valuesOfSet","filter","toFixed","toString","pairsOfMap","arguments","round","_relativePath","_moduleRequire","_module","reload","toUrl","slice","_recursivelyInvalidateModuleCache","search","modules","deps","pid","mid","ReloadableShaderModule","__proto__","__configurationParameters","key","_commonUniformStore","commonUniformStore","_config","_program","initializeProgram","subscribeProgram","_pipeline","initializePipeline","unsubscribeProgram","bindPass","bindMaterial","bindDraw","ShaderTechnique","__configurationParameters__offset","count","ceil","log2","ShaderTechniqueConfiguration","parameter","__managedDisposables__","AutoDisposableMixin","apply","_isDisposed","subclass","declared","AutoDisposable","autoDispose","primitiveIndices","_numIndexPerPrimitive","indices","_position","assert","size","offsetIdx","strideIdx","tmpIndices","clear","bbMin","bbMax","min","bsRadius","I","sqrt","getCenter","getBSRadius","getBBMin","getBBMax","getPrimitiveIndices","getIndices","getPosition","getChildren","_children","squaredDistance","Uint32Array","deallocator","DefaultTextureUnits","DIFFUSE","COMPONENT_COLOR","NORMAL","EMISSION","OCCLUSION","METALLIC_ROUGHNESS","Default3D","normal","normalCompressed","uv0","color","instanceColor","tangent","symbolColor","componentIndex","auxpos2","featureAttribute","instanceFeatureAttribute","region","model","modelNormal","modelOriginHi","modelOriginLo","Pos3","name","offset","stride","normalized","Pos3Tex","Pos3NormalTex","Pos3Col","Pos2","Pos2Tex","techniqueRep","isVisible","isVisibleInPass","getPrograms","getDrawMode","ensureResources","ensureAttributeLocations","assertCompatibleVertexAttributeLocations","GLMaterial","textureRep","textureId","initTransparent","initTextureTransparent","acquireIfNotUndefined","glTextureRef","normalTextureId","glTextureRefNormal","emissiveTextureId","glTextureRefEmission","occlusionTextureId","glTextureRefOcclusion","metallicRoughnessTextureId","glTextureRefRoughnessMetallness","releaseIfNotUndefined","updateTexture","getGLTexture","bindTextureScale","descriptor","textureCoordinateScaleFactor","makeCtorParameters","singleUse","_boundingInfo","_componentAABBs","_id","__idGen","gen","_data","indexCount","getAttribute","componentCount","componentOffsets","_calculateBoundingInfo","primitiveType","computeAttachmentOriginTriangles","computeAttachmentOriginPoints","VertexAttrConstants","POSITION","invalidateBoundingInfo","getComponentAABB","_computeComponentAABBs","Float32Array","_calculateAABB","generateDefaultIndexArray","IdGen","getFirstObjectValue","DefaultIndices","DefaultOffsets","preinterleaved","getNewId","_vertexAttributes","_indices","_componentOffsets","createOffsets","_primitiveType","getVertexAttr","toRenderData","id","vertexAttr","estimateGpuMemoryUsage","UV0","COLOR","GeometryData","_idGen","transformation","instanceParameters","shaderTransformation","getStaticTransformation","getShaderTransformation","pool","Vec3Compact","createGeometry","vec3f32","floor","cos","sin","N","U","G","F","Float64Array","SIZE","AUXPOS1","AUXPOS2","createPathExtrusionGeometry","E","plane","q","X","k","Z","fromPositionAndNormal","intersectRay","ray","wrap","H","J","K","Q","W","Y","$","zOffset","createBoxGeometry","createDiamondGeometry","createTetrahedronGeometry","createPolySphereGeometry","createPointGeometry","updatePointGeometry","createPointArrayGeometry","createTriangleGeometry","createSquareGeometry","createConeGeometry","createCylinderGeometry","createTubeGeometry","createPolylineGeometry","createExtrudedTriangle","transformInPlace","addVertexColors","addNormals","cgToGIS","makeOrthoBasisDirUp","makeOrthoBasisDirUpFallback","generateHighlightId","_count","options","IntersectorOptions","results","IntersectorResults","transform","IntersectorTransform","performanceInfo","queryDuration","numObjectsTested","tolerance","_ray","direction","_rayEndPoint","_rayStartPointTransformed","_rayEndPointTransformed","reset","resetWithRay","fromPoints","_numObjectsTested","init","intersect","point","filterPredicate","verticalOffset","object3D","intersectObject","getSpatialQueryAccelerator","forEachAlongRayWithVerticalOffset","forEachAlongRay","selectionMode","hud","forEachDegenerateObject","getObjects","sortResults","geometryRecords","objectTransformation","hidden","setAndInvalidateLazyTransforms","inverse","objectTransform","dist","IDENTITY","drapedLayerOrder","store","IntersectorResult","all","sort","Number","MAX_VALUE","drapedLayerGraphicOrder","MIN_VALUE","DEFAULT_TOLERANCE","copyIntervals","convertFaceToIndexRange","sortIntervals","intersectIntervals","mergeIntervals","invertIntervals","offsetIntervals","_parentStages","apiLayerUid","group","isPickable","isSliceable","translation","_extent","_extentDirty","addParentStage","on","notifyDirty","dirtyType","subObject","removeParentStage","remove","invalidateSpatialQueryAccelerator","getName","getGroup","getTranslation","getObjectIds","keysOfSet","getExtent","_updateExtent","addObject","parentLayer","_invalidateExtent","_octree","hasObject","removeObject","notifyObjectBBChanged","_createOctree","shaderTransformationChanged","destroy","emit","getRadius","supportsEdges","_parentStage","_renderOccluded","_renderPriority","parentStage","Material","_objectTransformation","_bvObjectSpace","_bvWorldSpace","_bvDirty","_hasVolatileTransformation","_allComponentsHiddenDirty","_allComponentsVisibleDirty","idHint","castShadow","metadata","isElevationSource","lastValidElevationBB","_initializeGeometryRecords","materials","transformations","origins","_geometryRecords","_geometries","_invalidateBoundingVolume","_notifyDirty","release","acquire","_parentLayer","getNumGeometryRecords","findGeometryRecords","getGeometryRecord","addGeometry","some","removeGeometry","splice","removeAllGeometries","areAllComponentsHidden","_allComponentsHidden","componentVisibilities","isAllHidden","areAllComponentsVisible","_allComponentsVisible","isAllVisible","hasComponents","setComponentVisibility","updateVisibility","setHidden","isHidden","getComponentVisibility","getVisibility","hideAllComponents","unhideAllComponents","_setComponentHighlight","componentHighlights","addHighlight","setComponentHighlight","highlightAllComponents","removeHighlights","removeHighlight","getComponentFromTriangleNr","componentFind","setGeometryTransformation","getCombinedStaticTransformation","multiply","getCombinedShaderTransformation","hasVolativeTransformation","getMetadata","_validateBoundingVolume","boundingInfo","_calculateTransformedBoundingVolume","maxScale","radius","hasGeometry","getGeometryIndex","isEmpty","frustum","intersectsSphere","planes","sphere","index","_maximumObjectsPerNode","_maximumDepth","_degenerateObjects","_objectCount","_objectToBoundingSphere","maximumObjectsPerNode","maximumDepth","isNaN","_root","halfSize","node","clearPool","prune","_objectOrObjectsArray","_grow","_isDegenerate","_add","_boundingSphereFromObject","_isValidRadius","_remove","_shrink","_forEachNode","_intersectsNode","terminals","_intersectsObject","residents","_intersectsNodeWithOffset","_intersectsObjectWithOffset","findClosest","_findClosest","forEachInDepthRange","_forEachInDepthRange","forEachNode","rayBoxTest","applyToMinMax","intersectsRay","applyToBoundingSphere","isLeaf","children","advance","_forEachNodeDepthOrdered","setRange","advanceTo","removeUnordered","_purge","_nodeIsEmpty","shrink","_split","_boundingSphereFromObjects","_fitsInsideTree","_rootBoundsForRootAsSubNode","_placingRootViolatesMaxDepth","_rebuildTree","_growRootAsSubNode","initFrom","log","LOG2E","pow","_findShrinkIndex","createEmptyNode","isTerminalFor","_childIndex","_pool","nextHighestPowerOfTwo","_array","_size","resize","subarray","append","erase","ResizableFloat32Array","context","FramebufferObject","colorTarget","depthStencilTarget","target","wrapMode","pixelFormat","dataType","samplingMode","BufferObject","createVertex","Uint16Array","VertexArrayObject","a_pos","bindFramebuffer","util","Program","encodeDoubleArray","setUniform3f","getViewport","setViewport","readPixels","unpackFloatRGBA","_doublePrecisionRequiresObfuscation","encodeDouble","decodeDoubleArray","encodeDoubleArraySplit","createEmptyTexture","createColorTexture","extrusionContainsPoint","layerUid","graphicsView","mockLayerId","graphics","findLayerByUid","expect","getGraphicFromGraphicUid","graphicUid","allLayerViews","find","layer","suspended","getGraphicFromIntersectorMetadata","createGraphic","sliceFilterPredicate","selectOpaqueTerrainOnly","invisibleTerrain","backfacesTerrain","storeTerrainResults","_transform","_transformInverse","_transformInverseTranspose","transpose","_transformTranspose","_transformInverseRotation","mat3","normalFromMat4Legacy","mat3f64","invalidateLazyTransforms","invalidate","setTransformMatrix","multiplyTransform","original","dirty","terrain","getIntersectionPoint","hasIntersectionPoint","getTransformedNormal","obj","geometryId","triangleNr","copyFrom","intersector","toOwner","ground","toGraphic","tmpVertex","applyToVertex","localOrigin","applyToAABB","TerrainVerticalOffsetGlobalViewingMode","componentLocalOriginLength","mbs","obb","quaternion","applyToMbs","applyToObb","transformQuat","quat","conjugate","I3SVerticalOffsetGlobalViewingMode","Object3DVerticalOffsetGlobalViewingMode","i3s","VerticalOffsetForGlobalViewingMode","TERRAIN_ID","quatf64","defaultDescription","curvatureDependent","scaleStart","scaleFallOffRange","curvature","tiltAngle","scaleFallOffFactor","minPixelSize","parameters","paddingPixelsOverride","divisor","factor","paddingPixels","fovY","getSettings","getLabelSettings","perspectiveFactor","scaleFactor","applyScaleFactor","applyScaleFactorVec2","precomputeScale","precomputeScaleFactor","applyPrecomputedScaleFactorVec2","description","_paddingPixelsOverride","coverageCompensation","surfaceCoverageCompensationLocal","calculateCurvatureDependentParameters","calculateCurvatureDependentParametersLocal","surfaceCoverageCompensationGlobal","calculateCurvatureDependentParametersGlobal","calculateParameters","overridePadding","earthRadius","clamp","acos","asin","deg2rad","doubleSided","techniqueConfig","DefaultMaterialTechniqueConfiguration","params","vertexBufferLayout","getVertexBufferLayout","instanceBufferLayout","instanced","getInstanceBufferLayout","layerOpacity","vertexColors","symbolColors","colorMixMode","externalColor","getParameters","getTechniqueConfig","hasNormalTexture","hasColorTexture","vertexTangents","instancedDoublePrecision","screenSizePerspective","textureAlphaMode","normalsTypeDerivate","normals","treeRendering","doubleSidedType","instancedColor","receiveSSAO","textureAlphaPremultiplied","offsetBackfaces","offsetTransparentBackfaces","eye","verticalOffsetAtDistance","transformMat3","inverseRotation","intersectTriangleGeometry","getGLMaterials","depthShadowMap","highlight","createRenderer","createBufferWriter","newLayout","vec3f","vec4f","vec2f","vec4u8","mat3f","mat4f","slot","technique","acquireAndReleaseExisting","DefaultMaterialTechnique","selectPipeline","pipelineState","culling","depthTest","func","depthWrite","defaultDepthWriteParams","beginSlot","_updateShadowState","bind","bindVerticalOffset","bindScreenSizePerspective","bindCamPos","bindViewOriginDouble","bindSlicePlane","bindInstance","transformationNormal","selectSlot","COLOR_GAMMA","ambient","specular","vvSizeValue","textureAlphaCutoff","allocate","createBuffer","elementCount","write","writeDefaultAttributes","invTranspTransformation","separateBlendingParams","face","mode","RibbonLineTechniqueConfiguration","validateParams","layout","createLayout","getPassParameters","stipplePattern","stippleIntegerRepeatsEnabled","stippleIntegerRepeats","stippleOffColor","roundJoins","roundCaps","cap","polygonOffset","intersectDrapedRenderLineGeometry","intersectLineGeometry","isTranslationMatrix","RibbonVertexAttributeConstants","SIZEFEATUREATTRIBUTE","unprojectPoint","isClosed","signedDistance","lineSegment","distance2","rayBeginPoint","rayEndPoint","closestLineSegmentPoint","computeAttachmentOriginLines","f32","SUBDIVISIONFACTOR","COLORFEATUREATTRIBUTE","OPACITYFEATUREATTRIBUTE","ribbonVertexAttributeLocations","miterLimit","RibbonLineTechnique","configuration","bindPipelineState","vvFastUpdate","Default","numCapSubdivisions","numJoinSubdivisions","SUBDIVISIONS","console","warn","buffer","WaterTechniqueConfiguration","selectProgram","WaterTechnique","_initTextures","texturePaths","waveTexture","perturbationTexture","waterTextureRepo","initialize","_setWaveUniforms","waveStrength","waveTextureRepeat","flowStrength","flowOffset","waveDirection","waveVelocity","animation","time","animationSpeed","ready","loading","pipeline","bindRepo","WaterGLMaterial","WaterDrapedGLMaterial","WaterNormalGLMaterial","shader","build","PositionLayout","PositionUVLayout","PositionColorLayout","DefaultBufferWriter","setMin","setMax","ne","ee","te","re","ie","ae","screenLength","tan","minWorldLength","maxWorldLength","perDistance","defaultPBRTreeMaterialParameters","defaultPBRMaterialParameters","intersectTriangles","computeNormal","computeInvDir","intersectAabbInvDir","intersectAabbInvDirBefore","transformToWorld","transformToView","transformToProjection","transformToNDC","applyScreenSizePerspectiveScale","bindHighlightRendering","ssaoEnabled","programs","byParameter","lookup","BindParametersMap","colorMixModes","ignore","replace","tint","getDefaultPBRMaterialParameters","typedBuffer","typedBufferStride","fieldNames","getField","BufferViewVec3f","BufferViewVec2f","REGION","BufferViewVec4u16","BufferViewVec4u8","SYMBOLCOLOR","TANGENT","BufferViewVec4f","writeBufferVec2","writeBufferVec3","writeBufferVec4","writeBufferMat3f","writeBufferMat4f","writePosition","writeNormal","writeColor","writeMultipliedColor","waterParameterDefaultsLocal","isDraped","wavePresets","perturbationStrength","textureRepeat","loadingCount","loadingState","loadTexture","label","trys","sent","getTextureProps","hasMipmap","maxAnisotropy","cache","texture","patternId","refCount","patternToTextureData","Texture","internalFormat","swap","reduce","StippleTextureRepository","createStipplePattern","createStipplePatternSimple","from","to","displayedIndexRange","highlightedIndexRanges","idx","dataId","deltaByGeometry","renderData","toAdd","toRemove","setData","_dataByOrigin","_highlightCount","_rctx","_vertexAttributeLocations","_material","_materialRep","_glMaterials","acquireMaterials","_bufferWriter","releaseMaterials","hasWater","renderPriority","modify","updateGeometries","toUpdate","addAndRemoveGeometries","updateHighlightCount","highlightCount","dataByGeometry","vao","glLayout","vertexCount","instances","vertexBuffers","calculateTransformRelToOrigin","generateRenderGeometryVisibleIndexRanges","generateRenderGeometryHighlightRanges","uniqueName","updateType","renderGeometry","pass","renderHighlightPass","renderDefaultPass","drawArraysFaceRange","range","optimalCount","sparseCount","updateDisplayedIndexRanges","createData","array","removeAndRebuild","removeByErasing","begin","setMatrixTranslation3","byteSize","byteLength","setSubData","updatedDisplayedIndexRange","displayedIndexRanges","createView","updateLogic","hasUniform","getStride","generateVisibleIndexRanges","generateHighlightedIndexRanges","hasHighlights","drawCalls","triangles","getBytesPerElement","drawElements","doesRenderGeometryHaveHighlights","isRenderGeometryHidden","drawElementsFaceRange","Bo","JSON","stringify","oo","eo","ao","no","lo","io","ro","so","co","vo","mo","go","uo","po","ho","xo","fo","bo","yo","Co","Oo","wo","Po","Lo","Do","Mo","No","Ao","So","Fo","To","_o","Vo","zo","Eo","nearFar","shaders","vertexShader","resolveIncludes","fragmentShader","subdivisionFactor","sizeFeatureAttribute","colorFeatureAttribute","opacityFeatureAttribute","stippleTextureBind","stippleTextureRepository","units","environment","lineCallout","measurementArrow","pointRenderer","renderer","laserLine","offscreen","hideOnGrab","moveOnDrag","snapToPointer","collisionType","collisionPriority","autoScaleRenderObjects","_radius","_worldSized","_focusMultiplier","_touchMultiplier","interactive","selectable","cursor","dragging","_areAnyEngineObjectsVisible","events","_modelTransform","_dragOffset","_dirtyScreenPoint","createScreenPoint","_dirtyScreenPointArray","_dirtyRenderScreenPointArray","_dirtyOriginScreenPointArray","_dirtyScreenPixelSize","_screenPositionDirty","_engineResourcesAddedToStage","_engineResources","_attached","_engineLayerId","_materialIdReferences","_hitResult","onSurface","surfaceType","_intersector","_mapPoint","drag","_removeResourcesFromStage","_camera","_get","constructed","_refreshMapPoint","_updateEngineObject","fromRenderCoords","_focused","_updateScreenSpaceProperties","_calculateModelTransformOffset","screenPointArrayToObject","intersectionDistance","screenPointObjectToArray","_getCollisionRadius","_screenPointArray","_renderScreenPointArray","_getWorldToScreenObjectScale","_calculateObjectTransform","_screenPixelSize","fromScreen","closestRayDistance2","castRenderScreenPointArray","fromMat4","_calculateModelTransformPosition","neverReached","screenPoint","grabbing","vec2f32","_originScreenPointArray","sceneIntersectionHelper","intersectToolIntersectorScreen","alignment","attach","manipulator3D","engineLayerId","addToViewContent","engineLayerReferences","materialIdReferences","state","canProject","mapPoint","detach","onViewChange","onElevationChange","containsPoint","elevationProvider","getElevation","_getFocusedSize","_ensureEngineResources","objectsByState","stateMask","objects","getContent","_addResourcesToStage","property","constructOnly","nonNullable","Integer","dependsOn","startX","startY","endX","endY","calculateCoordinates","x1","x2","y1","y2","strokeStyle","lineCap","classes","styles","visibility","style","renderCanvas","lineWidth","beginPath","moveTo","lineTo","stroke","readOnly","backgroundColor","textColor","textShadowColor","textShadowSize","_cssClasses","padding","borderRadius","textShadow","font","measureText","textAlign","textBaseline","roundedRect","fillStyle","fill","_renderTextShadow","fillText","lineJoin","arcTo","closePath"],"mappings":"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","file":"27-es5.js","sourcesContent":["// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./unitFormatUtils\",\"./unitUtils\"],function(t,i,n,e){return function(){function t(t,i){this.measure=e.measureForUnit(i),this.value=t,this.unit=i}return Object.defineProperty(t.prototype,\"isBaseUnit\",{get:function(){return e.isBaseUnit(this.unit)},enumerable:!0,configurable:!0}),t.prototype.toUnit=function(i){return new t(e.convertUnit(this.value,this.unit,i),i)},t.prototype.toBaseUnit=function(){return this.toUnit(e.baseUnitForUnit(this.unit))},t.prototype.toDecimalString=function(t,i){return void 0===t&&(t=2),n.formatDecimal(this.value,this.unit,t,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\",\"./unitFormatUtils\"],function(r,t,e){function a(r,t,a,n){return void 0===a&&(a=2),void 0===n&&(n=\"abbr\"),e.formatDecimal(r.toUnit(t).value,t,a,n)}function n(r,t,a){if(void 0===t&&(t=2),void 0===a&&(a=\"abbr\"),\"length\"!==r.measure)throw new Error(\"quantity is not a length\");return e.formatMetricLength(r.value,r.unit,t,a)}function i(r,t,a){if(void 0===t&&(t=2),void 0===a&&(a=\"abbr\"),\"length\"!==r.measure)throw new Error(\"quantity is not a length\");return e.formatMetricVerticalLength(r.value,r.unit,t,a)}function o(r,t,a){if(void 0===t&&(t=2),void 0===a&&(a=\"abbr\"),\"area\"!==r.measure)throw new Error(\"quantity is not an area\");return e.formatMetricArea(r.value,r.unit,t,a)}function u(r,t,a){if(void 0===t&&(t=2),void 0===a&&(a=\"abbr\"),\"length\"!==r.measure)throw new Error(\"quantity is not a length\");return e.formatImperialLength(r.value,r.unit,t,a)}function f(r,t,a){if(void 0===t&&(t=2),void 0===a&&(a=\"abbr\"),\"length\"!==r.measure)throw new Error(\"quantity is not a length\");return e.formatImperialVerticalLength(r.value,r.unit,t,a)}function l(r,t,a){if(void 0===t&&(t=2),void 0===a&&(a=\"abbr\"),\"area\"!==r.measure)throw new Error(\"quantity is not an area\");return e.formatImperialArea(r.value,r.unit,t,a)}function m(r){if(\"angle\"!==r.measure)throw new Error(\"quantity is not an angle\");return e.formatDMS(r.value,r.unit)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.formatDecimal=a,t.formatMetricLength=n,t.formatMetricVerticalLength=i,t.formatMetricArea=o,t.formatImperialLength=u,t.formatImperialVerticalLength=f,t.formatImperialArea=l,t.formatDMS=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([],function(){return function(e,r){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:r}):(e.raw=r,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([],function(){return function(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n.indexOf(r[o])<0&&(t[r[o]]=e[r[o]]);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\",\"../../../core/maybe\",\"../../../core/libs/gl-matrix-2/mat4\",\"../../../core/libs/gl-matrix-2/vec3\",\"../../../layers/graphics/dehydratedFeatures\",\"../layers/graphics/graphicUtils\",\"../support/stack\",\"../webgl-engine/lib/Geometry\",\"../webgl-engine/lib/GeometryUtil\",\"../webgl-engine/materials/DefaultMaterial\",\"../../interactive/Manipulator3D\"],function(e,t,a,r,i,n,o,c,l,s,u,m){function p(e,t){var a=1!==t,r=new u({diffuse:e,transparent:a,writeDepth:!a,cullFace:2,opacity:t,castShadows:!1,softwareInstanced:!0},\"manipulator\");return r.renderOccluded=4,r}function v(e,t,a){return new m.Manipulator3D({view:e,renderObjects:[{geometry:new l(s.createSphereGeometry(1,32,32),\"manipulator\"),material:p(t,a)}]})}function g(e,t,a,n){var o=i.vec3.subtract(c.sv3d.get(),e,a),l=i.vec3.cross(c.sv3d.get(),n,o),s=d(o,l,a,c.sm4d.get());r.mat4.invert(s,s);var u=i.vec3.transformMat4(c.sv3d.get(),t,s);return Math.atan2(u[1],u[0])}function d(e,t,a,r){var n=i.vec3.normalize(c.sv3d.get(),e),o=i.vec3.normalize(c.sv3d.get(),t),l=i.vec3.cross(c.sv3d.get(),n,o);return r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=0,r[4]=o[0],r[5]=o[1],r[6]=o[2],r[7]=0,r[8]=l[0],r[9]=l[1],r[10]=l[2],r[11]=0,r[12]=a[0],r[13]=a[1],r[14]=a[2],r[15]=1,r}function f(e,t){var r=e.view.getViewForGraphic(t),i=a.isSome(r)&&\"computeAttachmentOrigin\"in r?r.computeAttachmentOrigin(t,e.view.spatialReference):null;a.isSome(i)?e.elevationAlignedLocation=i:h(e,t.geometry)}function h(e,t){if(!a.isNone(t)){var r=o.computeCentroid(t);a.isNone(r)||(e.location=n.hydrateGeometry(r))}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.createManipulatorMaterial=p,t.createSphereManipulator=v,t.calculateInputRotationTransform=g,t.calculateTranslateRotateFromBases=d,t.placeManipulatorAtGraphic=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/extendsHelper\",\"../../../../../core/libs/gl-matrix-2/vec2f64\",\"../../../../../core/libs/gl-matrix-2/vec3\",\"../../../../../core/libs/gl-matrix-2/vec3f64\",\"../../../../../core/libs/gl-matrix-2/vec4\",\"../../../../../core/libs/gl-matrix-2/vec4f64\",\"../../../webgl-engine/lib/glUtil3D\",\"../../../webgl-engine/lib/Util\",\"../../../webgl-engine/materials/internal/MaterialUtil\",\"../../../webgl-engine/shaders/LaserLinePrograms\",\"../../../../webgl/renderState\"],function(e,t,i,r,n,o,s,c,a,f,l,p,h){function u(e,t,i,r){var o=m,c=v;n.vec3.transformMat4(o,t,r),n.vec3.copy(c,i),c[3]=0,s.vec4.transformMat4(c,c,r),s.vec4.set(e,c[0],c[1],c[2],-n.vec3.dot(c,o))}var m=o.vec3f64.create(),v=c.vec4f64.create(),_={glowColor:[1,.5,0],glowWidth:8,innerColor:[1,1,1],innerWidth:1,globalAlpha:.75};return function(){function e(e,t){void 0===t&&(t={}),this._projInfo=c.vec4f64.create(),this._zScale=r.vec2f64.create(),this._focusPlaneActive=!1,this._focusSphereActive=!1,this._segmentActive=!1,this._focusPosition=o.vec3f64.create(),this._focusSpherePosition=o.vec3f64.create(),this._segmentStartPosition=o.vec3f64.create(),this._segmentEndPosition=o.vec3f64.create(),this.canRender=!0,this._tempNormal=o.vec3f64.create(),this._tempDir=o.vec3f64.create(),this._tempUp=o.vec3f64.create(),this._tempVec3=o.vec3f64.create(),this._tempVec4=c.vec4f64.create(),this._renderCoordsHelper=e,this._params=l.copyParameters(t,_)}return Object.defineProperty(e.prototype,\"renderSlots\",{get:function(){return[14]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"needsLinearDepth\",{get:function(){return!0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"focusPlaneActive\",{get:function(){return this._focusPlaneActive},set:function(e){e!==this._focusPlaneActive&&(this._focusPlaneActive=e,this._requestRender())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"focusSphereActive\",{get:function(){return this._focusSphereActive},set:function(e){e!==this._focusSphereActive&&(this._focusSphereActive=e,this._requestRender())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"segmentActive\",{get:function(){return this._segmentActive},set:function(e){e!==this._segmentActive&&(this._segmentActive=e,this._requestRender())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"focusPosition\",{get:function(){return this._focusPosition},set:function(e){n.vec3.copy(this._focusPosition,e),this._requestRender()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"focusSpherePosition\",{get:function(){return this._focusSpherePosition},set:function(e){n.vec3.copy(this._focusSpherePosition,e),this._requestRender()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"segmentStartPosition\",{get:function(){return this._segmentStartPosition},set:function(e){n.vec3.copy(this._segmentStartPosition,e),this._requestRender()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"segmentEndPosition\",{get:function(){return this._segmentEndPosition},set:function(e){n.vec3.copy(this._segmentEndPosition,e),this._requestRender()},enumerable:!0,configurable:!0}),e.prototype.setParameterValues=function(e){l.updateParameters(this._params,e)&&this._requestRender()},e.prototype.initializeRenderContext=function(e){this._initContext=e;var t=e.rctx;this._quadVAO=a.createQuadVAO(t),this._laserLineProgram=e.programRep.getProgram(p.program),this._laserLinePipelineState=h.makePipelineState({blending:h.simpleBlendingParams(1,771),colorWrite:h.defaultColorWriteParams})},e.prototype.uninitializeRenderContext=function(){this._quadVAO.dispose(),this._quadVAO=null,this._laserLineProgram=null,this._projInfo=null},e.prototype.render=function(e){var t=e.rctx,i=e.camera,r=this._renderCoordsHelper,o=this._laserLineProgram,s=this._projInfo,c=this._zScale;if(t.bindProgram(o),t.setPipelineState(this._laserLinePipelineState),f.inverseProjectionInfo(i.projectionMatrix,i.fullWidth,i.fullHeight,s,c),o.setUniform4fv(\"projInfo\",s),o.setUniform2fv(\"zScale\",c),o.setUniform2f(\"nearFar\",i.near,i.far),o.setUniform1f(\"maxPixelDistance\",2*i.computeScreenPixelSizeAt(this._focusPosition)),this._focusPlaneActive){var a=this._focusPosition,l=this._tempVec3,p=this._tempVec4;r.worldUpAtPosition(a,l),u(p,a,l,i.viewMatrix),o.setUniform4fv(\"focusPlane\",p)}else o.setUniform4fv(\"focusPlane\",[0,0,0,1e10]);if(this._focusSphereActive){var h=this._tempVec4,a=this._tempVec3;n.vec3.copy(h,this._focusSpherePosition),n.vec3.transformMat4(h,h,i.viewMatrix),n.vec3.copy(a,this._focusPosition),n.vec3.transformMat4(a,a,i.viewMatrix),h[3]=n.vec3.distance(h,a),o.setUniform4fv(\"focusSphere\",h)}else o.setUniform4fv(\"focusSphere\",[0,0,0,1e10]);if(this._segmentActive){var v=this._tempVec4,_=this._tempVec3,g=this._tempUp,d=this._tempDir,P=this._tempNormal;n.vec3.lerp(_,this._segmentStartPosition,this._segmentEndPosition,.5),r.worldUpAtPosition(_,g),n.vec3.subtract(d,this._segmentEndPosition,this._segmentStartPosition),n.vec3.normalize(d,d),n.vec3.cross(P,g,d),n.vec3.normalize(P,P),u(v,this._segmentStartPosition,P,i.viewMatrix),o.setUniform4fv(\"segmentPlane\",v)}else o.setUniform4fv(\"segmentPlane\",[0,0,0,1e10]);var b=m;n.vec3.copy(b,this._segmentStartPosition),r.setAltitude(0,b),n.vec3.transformMat4(b,b,i.viewMatrix),o.setUniform3fv(\"segmentStart\",b);var y=m;n.vec3.copy(y,this._segmentEndPosition),r.setAltitude(0,y),n.vec3.transformMat4(y,y,i.viewMatrix),o.setUniform3fv(\"segmentEnd\",y),o.setUniform1i(\"depthMap\",0),t.bindTexture(e.offscreenRenderingHelper.linearDepthTexture,0);var S=e.camera.pixelRatio;return o.setUniform3fv(\"innerColor\",this._params.innerColor),o.setUniform1f(\"innerWidth\",this._params.innerWidth*S),o.setUniform3fv(\"glowColor\",this._params.glowColor),o.setUniform1f(\"glowWidth\",this._params.glowWidth*S),o.setUniform1f(\"globalAlpha\",this._params.globalAlpha),t.bindVAO(this._quadVAO),t.drawArrays(5,0,4),!0},e.prototype._requestRender=function(){this._initContext&&this._initContext.requestRender()},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\",\"../../../../overlay/LineOverlayItem\",\"../../../../overlay/TextOverlayItem\"],function(t,e,i,o){return function(){function t(t){this._textItem=new o({visible:!1}),this._calloutItem=new i({visible:!1,width:2}),this._visible=!1,this._calloutVisible=!0,t&&(this.fontSize=t)}return Object.defineProperty(t.prototype,\"textItem\",{get:function(){return this._textItem},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"calloutItem\",{get:function(){return this._calloutItem},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"text\",{get:function(){return this._textItem.text},set:function(t){this._textItem.text=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"fontSize\",{get:function(){return this._textItem.fontSize},set:function(t){this._textItem.fontSize=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"visible\",{get:function(){return this._visible},set:function(t){this._visible=t,this._updateVisibility()},enumerable:!0,configurable:!0}),t.prototype.addToView=function(t){t.overlay.items.addMany([this._textItem,this._calloutItem])},t.prototype.removeFromView=function(t){t.overlay&&!t.overlay.destroyed&&t.overlay.items.removeMany([this._textItem,this._calloutItem])},t.prototype.updatePosition=function(t,e){if(e){var i=e[0]-t[0],o=e[1]-t[1];this._textItem.position=[e[0],e[1]],this._textItem.anchor=Math.abs(i)>Math.abs(o)?i>0?\"left\":\"right\":o>0?\"top\":\"bottom\",this._calloutItem.startPosition=[t[0],t[1]],this._calloutItem.endPosition=[e[0],e[1]],this._calloutVisible=!0}else this._textItem.position=[t[0],t[1]],this._textItem.anchor=\"center\",this._calloutVisible=!1},t.prototype._updateVisibility=function(){this._textItem.visible=this._visible,this._calloutItem.visible=this._visible&&this._calloutVisible},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/vec3\",\"../../../../../core/libs/gl-matrix-2/vec3f64\",\"./viewUtils\"],function(e,i,t,c,r){return function(){function e(){this.origin=c.vec3f64.create(),this.start=c.vec3f64.create(),this.end=c.vec3f64.create()}return e.prototype.update=function(e,i,c){if(t.vec3.copy(this.start,e),t.vec3.copy(this.end,i),c)switch(c){case\"start\":t.vec3.copy(this.origin,this.start);break;case\"center\":r.midpoint([e,i],this.origin);break;case\"end\":t.vec3.copy(this.origin,this.end);break;default:t.vec3.copy(this.origin,c)}else r.midpoint([e,i],this.origin)},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/libs/gl-matrix-2/vec3\",\"../../../../../core/libs/gl-matrix-2/vec3f64\",\"../../../support/mathUtils\",\"../../../support/projectionUtils\"],function(t,e,i,o,r,n){var s;return function(t){var e=function(){function t(t,e){this._startPosition=o.vec3f64.create(),this._endPosition=o.vec3f64.create(),i.vec3.copy(this._startPosition,t),i.vec3.copy(this._endPosition,e)}return t.prototype.eval=function(t,e){i.vec3.lerp(e,this._startPosition,this._endPosition,t)},t}();t.Linear=e;var s=function(){function t(t,e,i,r){this._startPosition=o.vec3f64.create(),this._endPosition=o.vec3f64.create(),n.vectorToVector(t,i,this._startPosition,n.SphericalECEFSpatialReference),n.vectorToVector(e,i,this._endPosition,n.SphericalECEFSpatialReference),this._destSR=r}return t.prototype.eval=function(t,e){r.slerp(this._startPosition,this._endPosition,t,e),n.vectorToVector(e,n.SphericalECEFSpatialReference,e,this._destSR)},t}();t.Spherical=s}(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\",\"../../../../../core/unitUtils\"],function(e,t,r){return function(){function e(e){void 0===e&&(e=null),this.spatialReference=e,this._updateNormalizationFactors}return Object.defineProperty(e.prototype,\"spatialReference\",{get:function(){return this._spatialReference},set:function(e){e!==this._spatialReference&&(this._spatialReference=e,this._updateNormalizationFactors())},enumerable:!0,configurable:!0}),e.prototype.normalizeDistance=function(e){return e*this._metersPerDistanceUnit},e.prototype.normalizeElevation=function(e){return e*this._metersPerElevationUnit},e.prototype.normalizeArea=function(e){return e*this._squareMetersPerAreaUnit},e.prototype._updateNormalizationFactors=function(){this._metersPerDistanceUnit=r.getMetersPerUnitForSR(this._spatialReference,1),this._metersPerElevationUnit=r.getMetersPerUnitForSR(this._spatialReference,1),this._squareMetersPerAreaUnit=this._metersPerDistanceUnit*this._metersPerDistanceUnit},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/screenUtils\",\"../../../../../core/libs/gl-matrix-2/vec2\",\"../../../../../core/libs/gl-matrix-2/vec3\",\"../../../../../core/libs/gl-matrix-2/vec3f64\",\"./viewUtils\"],function(e,r,t,n,o,c,a){function i(e){switch(e){case\"top\":return\"bottom\";case\"right\":return\"left\";case\"bottom\":return\"top\";case\"left\":return\"right\"}}function s(e,r,t){return e.projectPoint(r,S),!(S[2]<0||S[2]>1)&&(e.renderToScreen(S,t),!0)}function l(e,r,t){var n=s(t,r,h);return n&&e.updatePosition(h,null),n}function u(e,r,t,o,c,i){if(!r)return!1;a.screenSpaceTangent(r.start,r.end,b,e),n.vec2.set(f,-b[1],b[0]);var s=!1;switch(o){case\"top\":s=f[1]<0;break;case\"bottom\":s=f[1]>0;break;case\"left\":s=f[0]>0;break;case\"right\":s=f[0]<0}if(s&&n.vec2.negate(f,f),0===n.vec2.length(f))switch(o){case\"top\":f[1]=1;break;case\"bottom\":f[1]=-1;break;case\"left\":f[0]=-1;break;case\"right\":f[0]=1}return e.projectPoint(r.origin,S),!(S[2]<0||S[2]>1)&&(e.renderToScreen(S,c),n.vec2.scale(f,f,t*e.pixelRatio),n.vec2.add(f,f,S),e.renderToScreen(f,i),!0)}function d(e,r,t,n,o){var c=u(o,r,t,n,h,y);return c&&e.updatePosition(h,y),c}function p(e,r,t,o,c,i){return!(!r||!t)&&(a.screenSpaceTangent(r.end,r.start,b,e),a.screenSpaceTangent(t.start,t.end,m,e),n.vec2.add(f,b,m),n.vec2.negate(f,f),n.vec2.normalize(f,f),e.projectPoint(r.end,S),!(S[2]<0||S[2]>1)&&(e.renderToScreen(S,c),n.vec2.scale(f,f,o*e.pixelRatio),n.vec2.add(f,f,S),e.renderToScreen(f,i),!0))}function v(e,r,t,c,a,i){return e.projectPoint(r,S),o.vec3.add(T,r,t),e.projectPoint(T,g),!(S[2]<0||S[2]>1||g[2]<0||g[2]>1)&&(n.vec2.subtract(f,g,S),n.vec2.normalize(f,f),e.renderToScreen(S,a),n.vec2.scale(f,f,c*e.pixelRatio),n.vec2.add(f,f,S),e.renderToScreen(f,i),!0)}function P(e,r,t,n,o){var c=p(o,r,t,n,h,y);return c&&e.updatePosition(h,y),c}Object.defineProperty(r,\"__esModule\",{value:!0}),r.mirrorPosition=i,r.computeLabelPositionFromPoint=s,r.positionLabelOnPoint=l,r.computeLabelPositionFromSegment=u,r.positionLabelOnSegment=d,r.computeLabelPositionFromCorner=p,r.computeLabelPositionFromPlane=v,r.positionLabelOnCorner=P;var b=t.createRenderScreenPointArray(),m=t.createRenderScreenPointArray(),f=t.createRenderScreenPointArray(),S=t.createRenderScreenPointArray3(),g=t.createRenderScreenPointArray3(),T=c.vec3f64.create(),h=t.createScreenPointArray(),y=t.createScreenPointArray()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\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/screenUtils\",\"../../../../../core/libs/gl-matrix-2/mat4\",\"../../../../../core/libs/gl-matrix-2/vec2\",\"../../../../../core/libs/gl-matrix-2/vec3\",\"../../../../../core/libs/gl-matrix-2/vec3f64\"],function(e,r,t,n,c,a,i,o){function s(e,r){var n=t.mixin({},e),c=t.clone(r);return t.mixin(n,c),n}function l(e,r,t,n){for(;e.length<r;)e.push(t());if(n)for(;e.length>r;){var c=e.pop();n(c)}else e.length=r}function v(e,r,t){c.mat4.identity(t),c.mat4.translate(t,t,r),i.vec3.set(m,e,e,e),c.mat4.scale(t,t,m)}function f(e,r){if(i.vec3.set(r,0,0,0),e.length>0){for(var t=0;t<e.length;++t)i.vec3.add(r,r,e[t]);i.vec3.scale(r,r,1/e.length)}}function d(e,r,t,n){n.projectPoint(e,S),n.projectPoint(r,A),a.vec2.subtract(t,h,x),a.vec2.normalize(t,t)}function u(e,r,t){var c=t._stage.getCamera();t.renderCoordsHelper.toRenderCoords(e,P),c.projectPoint(P,y),n.renderArrayToScreen(t,y,r)}function p(e,r,t){return u(e,j,t),u(r,T,t),a.vec2.distance(j,T)}function g(e,r,t){return u(e,b,t),a.vec2.distance(b,r)}Object.defineProperty(r,\"__esModule\",{value:!0});var m=o.vec3f64.create();r.copyParameter=s,r.resizeArray=l,r.scaleTranslateMatrix=v,r.midpoint=f,r.screenSpaceTangent=d,r.projectPoint=u,r.pointToPointScreenDistance=p,r.pointToScreenPositionDistance=g;var P=o.vec3f64.create(),y=n.createRenderScreenPointArray3(),S=n.createRenderScreenPointArray3(),x=S,A=n.createRenderScreenPointArray3(),h=A,b=n.createScreenPointArray(),j=n.createScreenPointArray(),T=n.createScreenPointArray()});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\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/maybe\",\"../../../../core/libs/gl-matrix-2/mat4\",\"../../../../core/libs/gl-matrix-2/mat4f64\",\"../../../../core/libs/gl-matrix-2/vec2f64\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"../../../../core/libs/gl-matrix-2/vec4\",\"../../../../core/libs/gl-matrix-2/vec4f64\",\"../../../../geometry/support/aaBoundingBox\",\"../../../../geometry/support/aaBoundingRect\",\"../../../../geometry/support/centroid\",\"../../../../geometry/support/coordsUtils\",\"../../../../layers/graphics/dehydratedFeatures\",\"../../support/projectionUtils\"],function(e,t,r,n,i,o,a,l,u,s,m,c,f,v,d,h){function p(e,t){if(\"point\"===e.type)return b(e,t,!1);if(d.isHydratedGeometry(e))switch(e.type){case\"extent\":return b(e.center,t,!1);case\"polygon\":return b(e.centroid,t,!1);case\"polyline\":return b(g(e),t,!0);case\"mesh\":return b(e.extent.center,t,!1)}else switch(e.type){case\"extent\":return b(y(e),t,!0);case\"polygon\":return b(x(e),t,!0);case\"polyline\":return b(g(e),t,!0)}}function g(e){var t=e.paths[0];if(!t||0===t.length)return null;var r=v.getPointOnPath(t,v.getPathLength(t)/2);return d.makeDehydratedPoint(r[0],r[1],r[2],e.spatialReference)}function y(e){var t=r.isFinite(e.zmin);return d.makeDehydratedPoint(.5*(e.xmax+e.xmin),.5*(e.ymax+e.ymin),t?.5*(e.zmax+e.zmin):void 0,e.spatialReference)}function x(e){var t=e.rings[0];if(!t||0===t.length)return null;var r=f.ringsCentroid(e.rings,e.hasZ);return d.makeDehydratedPoint(r[0],r[1],r[2],e.spatialReference)}function b(e,t,r){var n=r?e:d.clonePoint(e);return t&&e?h.pointToPoint(e,n,t)?n:null:n}function P(e,t,r){if(e){t||(t=c.create());var n=e,i=.5*n.width*(r-1),o=.5*n.height*(r-1);return n.width<1e-7*n.height?i+=o/20:n.height<1e-7*n.width&&(o+=i/20),u.vec4.set(t,n.xmin-i,n.ymin-o,n.xmax+i,n.ymax+o),t}return null}function S(e,t){for(var r=0;r<e.geometries.length;++r){var n=e.geometries[r].data,i=n.vertexAttributes.auxpos1;i&&i.data[3]!==t&&(i.data[3]=t,e.geometryVertexAttrsUpdated(r))}}function V(e,t){var r=s.vec4f64.clone(s.vec4f64.ONES);return n.isSome(e)&&(r[0]=e[0],r[1]=e[1],r[2]=e[2]),n.isSome(t)?r[3]=t:n.isSome(e)&&e.length>3&&(r[3]=e[3]),r}function A(e,t,r,i,o,a){void 0===a&&(a=[0,0,0,0]);for(var l=0;l<3;++l)n.isSome(e)&&null!=e[l]?a[l]=e[l]:n.isSome(r)&&null!=r[l]?a[l]=r[l]:a[l]=o[l];return n.isSome(t)?a[3]=t:n.isSome(i)?a[3]=i:a[3]=o[3],a}function R(e,t,r,n){void 0===e&&(e=l.vec3f64.ONES),void 0===n&&(n=1);var i=new Array(3);if(null==t||null==r)i[0]=1,i[1]=1,i[2]=1;else{for(var o=void 0,a=0,u=2;u>=0;u--){var s=e[u],m=void 0,c=null!=s,f=0===u&&!o&&!c,v=r[u];\"symbolValue\"===s||f?m=0!==v?t[u]/v:1:c&&\"proportional\"!==s&&isFinite(s)&&(m=0!==v?s/v:1),null!=m&&(i[u]=m,o=m,a=Math.max(a,Math.abs(m)))}for(var u=2;u>=0;u--)null==i[u]?i[u]=o:0===i[u]&&(i[u]=.001*a)}for(var u=2;u>=0;u--)i[u]/=n;return l.vec3f64.fromArray(i)}function w(e,t){var r=t.isPrimitive,n=t.width,i=t.depth,o=t.height,a=r?10:1;if(null==n&&null==o&&null==i)return[a*e[0],a*e[1],a*e[2]];for(var u,s=l.vec3f64.fromValues(n,i,o),m=0;m<3;m++){var c=s[m];if(null!=c){u=c/e[m];break}}for(var m=0;m<3;m++)null==s[m]&&(s[m]=e[m]*u);return s}function z(e){return null!=e.isPrimitive}function D(e){return z(e)&&(e=[e.width,e.depth,e.height]),M(e)?null:\"Symbol sizes may not be negative values\"}function M(e){if(Array.isArray(e)){for(var t=0,r=e;t<r.length;t++){if(!M(r[t]))return!1}return!0}return null==e||e>=0}function O(e,t,r,n){void 0===n&&(n=o.mat4f64.create());var a=e||0,l=t||0,u=r||0;return 0!==a&&i.mat4.rotateZ(n,n,-a/180*Math.PI),0!==l&&i.mat4.rotateX(n,n,l/180*Math.PI),0!==u&&i.mat4.rotateY(n,n,u/180*Math.PI),n}function B(e,t){return null!=t.minDemResolution?t.minDemResolution:m.isPoint(e)?t.minDemResolutionForPoints:.01*m.maximumDimension(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.computeCentroid=p,t.enlargeExtent=P,t.updateVertexAttributeAuxpos1w=S,t.mixinColorAndOpacity=V,t.overrideColor=A,t.computeObjectScale=R,t.computeSizeWithResourceSize=w,t.validateSymbolLayerSize=D,t.isValidSize=M,t.computeObjectRotation=O,t.demResolutionForBoundingBox=B,t.namedAnchorToHUDMaterialAnchorPos={\"bottom-left\":a.vec2f64.fromValues(0,0),bottom:a.vec2f64.fromValues(.5,0),\"bottom-right\":a.vec2f64.fromValues(1,0),left:a.vec2f64.fromValues(0,.5),center:a.vec2f64.fromValues(.5,.5),right:a.vec2f64.fromValues(1,.5),\"top-left\":a.vec2f64.fromValues(0,1),top:a.vec2f64.fromValues(.5,1),\"top-right\":a.vec2f64.fromValues(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\",\"../../../core/tsSupport/assignHelper\",\"../../../request\"],function(e,t,r,n){function o(e){for(var t=atob(e.split(\",\")[1]),r=e.split(\",\")[0].split(\":\")[1].split(\";\")[0],n=new ArrayBuffer(t.length),o=new Uint8Array(n),i=0;i<t.length;i++)o[i]=t.charCodeAt(i);return new Blob([n],{type:r})}function i(e,t){return n(e,r({responseType:\"image\"},t)).then(function(e){return e.data})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.dataURItoBlob=o,t.requestImage=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/makeTemplateObjectHelper\",\"../../../../core/shaderModules/interfaces\"],function(o,l,e,n){function a(o){o.vertex.code.add(n.glsl(s||(s=e([\"\\n    vec4 decodeSymbolColor(vec4 symbolColor, out int colorMixMode) {\\n      float symbolAlpha = 0.0;\\n\\n      const float maxTint = 85.0;\\n      const float maxReplace = 170.0;\\n      const float scaleAlpha = 3.0;\\n\\n      if (symbolColor.a > maxReplace) {\\n        colorMixMode = \",\";\\n        symbolAlpha = scaleAlpha * (symbolColor.a - maxReplace);\\n      } else if (symbolColor.a > maxTint) {\\n        colorMixMode = \",\";\\n        symbolAlpha = scaleAlpha * (symbolColor.a - maxTint);\\n      } else if (symbolColor.a > 0.0) {\\n        colorMixMode = \",\";\\n        symbolAlpha = scaleAlpha * symbolColor.a;\\n      } else {\\n        colorMixMode = \",\";\\n        symbolAlpha = 0.0;\\n      }\\n\\n      return vec4(symbolColor.r, symbolColor.g, symbolColor.b, symbolAlpha);\\n    }\\n  \"],[\"\\n    vec4 decodeSymbolColor(vec4 symbolColor, out int colorMixMode) {\\n      float symbolAlpha = 0.0;\\n\\n      const float maxTint = 85.0;\\n      const float maxReplace = 170.0;\\n      const float scaleAlpha = 3.0;\\n\\n      if (symbolColor.a > maxReplace) {\\n        colorMixMode = \",\";\\n        symbolAlpha = scaleAlpha * (symbolColor.a - maxReplace);\\n      } else if (symbolColor.a > maxTint) {\\n        colorMixMode = \",\";\\n        symbolAlpha = scaleAlpha * (symbolColor.a - maxTint);\\n      } else if (symbolColor.a > 0.0) {\\n        colorMixMode = \",\";\\n        symbolAlpha = scaleAlpha * symbolColor.a;\\n      } else {\\n        colorMixMode = \",\";\\n        symbolAlpha = 0.0;\\n      }\\n\\n      return vec4(symbolColor.r, symbolColor.g, symbolColor.b, symbolAlpha);\\n    }\\n  \"])),n.glsl.int(1),n.glsl.int(3),n.glsl.int(4),n.glsl.int(1)))}Object.defineProperty(l,\"__esModule\",{value:!0}),l.DecodeSymbolColor=a;var 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/makeTemplateObjectHelper\",\"../shaderModules/interfaces\"],function(e,d,r,a){function o(e,d){var o=e.fragment;switch(d.alphaDiscardMode){case 0:o.code.add(a.glsl(c||(c=r([\"\\n        void discardOrAdjustAlpha(inout vec4 color) {}\\n      \"],[\"\\n        void discardOrAdjustAlpha(inout vec4 color) {}\\n      \"]))));break;case 1:o.code.add(a.glsl(l||(l=r([\"\\n        void discardOrAdjustAlpha(inout vec4 color) {\\n          color.a = 1.0;\\n        }\\n      \"],[\"\\n        void discardOrAdjustAlpha(inout vec4 color) {\\n          color.a = 1.0;\\n        }\\n      \"]))));break;case 2:o.uniforms.add(\"textureAlphaCutoff\",\"float\"),o.code.add(a.glsl(t||(t=r([\"\\n        #define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } else { color.a = 1.0; } }\\n      \"],[\"\\n        #define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } else { color.a = 1.0; } }\\n      \"]))));break;case 3:e.fragment.uniforms.add(\"textureAlphaCutoff\",\"float\"),e.fragment.code.add(a.glsl(s||(s=r([\"\\n        #define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } }\\n      \"],[\"\\n        #define discardOrAdjustAlpha(color) { if (color.a < textureAlphaCutoff) { discard; } }\\n      \"]))))}}Object.defineProperty(d,\"__esModule\",{value:!0}),d.DiscardOrAdjustAlpha=o,d.TEXTURE_ALPHA_CUTOFF_DEFAULT=.1;var c,l,t,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/makeTemplateObjectHelper\",\"../shaderModules/interfaces\"],function(e,r,a,n){function i(e,r){0===r.output&&r.receiveShadows?(e.varyings.add(\"linearDepth\",\"float\"),e.vertex.code.add(n.glsl(o||(o=a([\"\\n      void forwardLinearDepth() { linearDepth = gl_Position.w; }\\n    \"],[\"\\n      void forwardLinearDepth() { linearDepth = gl_Position.w; }\\n    \"]))))):1===r.output||3===r.output?(e.varyings.add(\"linearDepth\",\"float\"),e.vertex.uniforms.add(\"uCameraNearFar\",\"vec2\"),e.vertex.code.add(n.glsl(t||(t=a([\"\\n      void forwardLinearDepth() {\\n        linearDepth = (-position_view().z - uCameraNearFar[0]) / (uCameraNearFar[1] - uCameraNearFar[0]);\\n      }\\n    \"],[\"\\n      void forwardLinearDepth() {\\n        linearDepth = (-position_view().z - uCameraNearFar[0]) / (uCameraNearFar[1] - uCameraNearFar[0]);\\n      }\\n    \"]))))):e.vertex.code.add(n.glsl(d||(d=a([\"\\n      void forwardLinearDepth() {}\\n    \"],[\"\\n      void forwardLinearDepth() {}\\n    \"]))))}Object.defineProperty(r,\"__esModule\",{value:!0}),r.ForwardLinearDepth=i;var o,t,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/makeTemplateObjectHelper\",\"../shaderModules/interfaces\"],function(o,e,c,n){function r(o){o.vertex.code.add(n.glsl(l||(l=c([\"\\n    vec4 offsetBackfacingClipPosition(vec4 posClip, vec3 posWorld, vec3 normalWorld, vec3 camPosWorld) {\\n      vec3 camToVert = posWorld - camPosWorld;\\n\\n      bool isBackface = dot(camToVert, normalWorld) > 0.0;\\n      if (isBackface) {\\n        posClip.z += 0.0000003 * posClip.w;\\n      }\\n      return posClip;\\n    }\\n  \"],[\"\\n    vec4 offsetBackfacingClipPosition(vec4 posClip, vec3 posWorld, vec3 normalWorld, vec3 camPosWorld) {\\n      vec3 camToVert = posWorld - camPosWorld;\\n\\n      bool isBackface = dot(camToVert, normalWorld) > 0.0;\\n      if (isBackface) {\\n        posClip.z += 0.0000003 * posClip.w;\\n      }\\n      return posClip;\\n    }\\n  \"]))))}Object.defineProperty(e,\"__esModule\",{value:!0}),e.Offset=r;var 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/makeTemplateObjectHelper\",\"../../../../../core/libs/gl-matrix-2/vec3\",\"../../../../../core/libs/gl-matrix-2/vec3f64\",\"../shaderModules/interfaces\"],function(s,e,n,i,c,o){function a(s,e){e.slicePlaneEnabled?(s.extensions.add(\"GL_OES_standard_derivatives\"),s.fragment.uniforms.add(\"slicePlaneOrigin\",\"vec3\"),s.fragment.uniforms.add(\"slicePlaneBasis1\",\"vec3\"),s.fragment.uniforms.add(\"slicePlaneBasis2\",\"vec3\"),s.fragment.code.add(o.glsl(l||(l=n([\"\\n      struct SliceFactors {\\n        float front;\\n        float side0;\\n        float side1;\\n        float side2;\\n        float side3;\\n      };\\n\\n      SliceFactors calculateSliceFactors(vec3 pos) {\\n        vec3 rel = pos - slicePlaneOrigin;\\n\\n        vec3 slicePlaneNormal = -cross(slicePlaneBasis1, slicePlaneBasis2);\\n        float slicePlaneW = -dot(slicePlaneNormal, slicePlaneOrigin);\\n\\n        float basis1Len2 = dot(slicePlaneBasis1, slicePlaneBasis1);\\n        float basis2Len2 = dot(slicePlaneBasis2, slicePlaneBasis2);\\n\\n        float basis1Dot = dot(slicePlaneBasis1, rel);\\n        float basis2Dot = dot(slicePlaneBasis2, rel);\\n\\n        return SliceFactors(\\n          dot(slicePlaneNormal, pos) + slicePlaneW,\\n          -basis1Dot - basis1Len2,\\n          basis1Dot - basis1Len2,\\n          -basis2Dot - basis2Len2,\\n          basis2Dot - basis2Len2\\n        );\\n      }\\n\\n      bool sliceByFactors(SliceFactors factors) {\\n        return factors.front < 0.0\\n          && factors.side0 < 0.0\\n          && factors.side1 < 0.0\\n          && factors.side2 < 0.0\\n          && factors.side3 < 0.0;\\n      }\\n\\n      bool sliceByPlane(vec3 pos) {\\n        return sliceByFactors(calculateSliceFactors(pos));\\n      }\\n\\n      vec4 applySliceHighlight(vec4 color, vec3 pos) {\\n        SliceFactors factors = calculateSliceFactors(pos);\\n\\n        if (sliceByFactors(factors)) {\\n          return color;\\n        }\\n\\n        const float HIGHLIGHT_WIDTH = 1.0;\\n        const vec4 HIGHLIGHT_COLOR = vec4(0.0, 0.0, 0.0, 0.3);\\n\\n        factors.front /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.front);\\n        factors.side0 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side0);\\n        factors.side1 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side1);\\n        factors.side2 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side2);\\n        factors.side3 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side3);\\n\\n        float highlightFactor = (1.0 - step(0.5, factors.front))\\n          * (1.0 - step(0.5, factors.side0))\\n          * (1.0 - step(0.5, factors.side1))\\n          * (1.0 - step(0.5, factors.side2))\\n          * (1.0 - step(0.5, factors.side3));\\n\\n        return mix(color, vec4(HIGHLIGHT_COLOR.rgb, color.a), highlightFactor * HIGHLIGHT_COLOR.a);\\n      }\\n      #define rejectBySlice(_pos_) sliceByPlane(_pos_)\\n      #define discardBySlice(_pos_) { if (sliceByPlane(_pos_)) discard; }\\n      \"],[\"\\n      struct SliceFactors {\\n        float front;\\n        float side0;\\n        float side1;\\n        float side2;\\n        float side3;\\n      };\\n\\n      SliceFactors calculateSliceFactors(vec3 pos) {\\n        vec3 rel = pos - slicePlaneOrigin;\\n\\n        vec3 slicePlaneNormal = -cross(slicePlaneBasis1, slicePlaneBasis2);\\n        float slicePlaneW = -dot(slicePlaneNormal, slicePlaneOrigin);\\n\\n        float basis1Len2 = dot(slicePlaneBasis1, slicePlaneBasis1);\\n        float basis2Len2 = dot(slicePlaneBasis2, slicePlaneBasis2);\\n\\n        float basis1Dot = dot(slicePlaneBasis1, rel);\\n        float basis2Dot = dot(slicePlaneBasis2, rel);\\n\\n        return SliceFactors(\\n          dot(slicePlaneNormal, pos) + slicePlaneW,\\n          -basis1Dot - basis1Len2,\\n          basis1Dot - basis1Len2,\\n          -basis2Dot - basis2Len2,\\n          basis2Dot - basis2Len2\\n        );\\n      }\\n\\n      bool sliceByFactors(SliceFactors factors) {\\n        return factors.front < 0.0\\n          && factors.side0 < 0.0\\n          && factors.side1 < 0.0\\n          && factors.side2 < 0.0\\n          && factors.side3 < 0.0;\\n      }\\n\\n      bool sliceByPlane(vec3 pos) {\\n        return sliceByFactors(calculateSliceFactors(pos));\\n      }\\n\\n      vec4 applySliceHighlight(vec4 color, vec3 pos) {\\n        SliceFactors factors = calculateSliceFactors(pos);\\n\\n        if (sliceByFactors(factors)) {\\n          return color;\\n        }\\n\\n        const float HIGHLIGHT_WIDTH = 1.0;\\n        const vec4 HIGHLIGHT_COLOR = vec4(0.0, 0.0, 0.0, 0.3);\\n\\n        factors.front /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.front);\\n        factors.side0 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side0);\\n        factors.side1 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side1);\\n        factors.side2 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side2);\\n        factors.side3 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side3);\\n\\n        float highlightFactor = (1.0 - step(0.5, factors.front))\\n          * (1.0 - step(0.5, factors.side0))\\n          * (1.0 - step(0.5, factors.side1))\\n          * (1.0 - step(0.5, factors.side2))\\n          * (1.0 - step(0.5, factors.side3));\\n\\n        return mix(color, vec4(HIGHLIGHT_COLOR.rgb, color.a), highlightFactor * HIGHLIGHT_COLOR.a);\\n      }\\n      #define rejectBySlice(_pos_) sliceByPlane(_pos_)\\n      #define discardBySlice(_pos_) { if (sliceByPlane(_pos_)) discard; }\\n      \"])))),e.sliceHighlightDisabled?s.fragment.code.add(o.glsl(t||(t=n([\"\\n        #define highlightSlice(_color_, _pos_) (_color_)\\n      \"],[\"\\n        #define highlightSlice(_color_, _pos_) (_color_)\\n      \"])))):s.fragment.code.add(o.glsl(r||(r=n([\"\\n      #define highlightSlice(_color_, _pos_) applySliceHighlight(_color_, _pos_)\\n    \"],[\"\\n      #define highlightSlice(_color_, _pos_) applySliceHighlight(_color_, _pos_)\\n    \"]))))):s.fragment.code.add(o.glsl(f||(f=n([\"\\n      #define rejectBySlice(_pos_) false\\n      #define discardBySlice(_pos_) {}\\n      #define highlightSlice(_color_, _pos_) (_color_)\\n    \"],[\"\\n      #define rejectBySlice(_pos_) false\\n      #define discardBySlice(_pos_) {}\\n      #define highlightSlice(_color_, _pos_) (_color_)\\n    \"]))))}Object.defineProperty(e,\"__esModule\",{value:!0}),e.Slice=a,function(s){function e(e,n,i){s.bindUniforms(e,n,i.slicePlane,i.origin)}function n(s,e,n,c){e.slicePlaneEnabled&&(c?(i.vec3.subtract(d,n.origin,c),s.setUniform3fv(\"slicePlaneOrigin\",d)):s.setUniform3fv(\"slicePlaneOrigin\",n.origin),s.setUniform3fv(\"slicePlaneBasis1\",n.basis1),s.setUniform3fv(\"slicePlaneBasis2\",n.basis2))}s.bindUniformsWithOrigin=e,s.bindUniforms=n}(a=e.Slice||(e.Slice={}));var l,t,r,f,d=c.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/makeTemplateObjectHelper\",\"../../../../../core/libs/gl-matrix-2/mat4\",\"../../../../../core/libs/gl-matrix-2/mat4f32\",\"../shaderModules/interfaces\"],function(e,r,n,t,o,a){function i(e,r){r.linearDepth?e.vertex.code.add(a.glsl(s||(s=n([\"\\n    vec4 transformPositionWithDepth(mat4 proj, mat4 view, vec3 pos, vec2 nearFar, out float depth) {\\n      vec4 eye = view * vec4(pos, 1.0);\\n      depth = (-eye.z - nearFar[0]) / (nearFar[1] - nearFar[0]) ;\\n      return proj * eye;\\n    }\\n    \"],[\"\\n    vec4 transformPositionWithDepth(mat4 proj, mat4 view, vec3 pos, vec2 nearFar, out float depth) {\\n      vec4 eye = view * vec4(pos, 1.0);\\n      depth = (-eye.z - nearFar[0]) / (nearFar[1] - nearFar[0]) ;\\n      return proj * eye;\\n    }\\n    \"])))):e.vertex.code.add(a.glsl(p||(p=n([\"\\n    vec4 transformPosition(mat4 proj, mat4 view, vec3 pos) {\\n      // Make sure the order of operations is the same as in transformPositionWithDepth.\\n      return proj * (view * vec4(pos, 1.0));\\n    }\\n    \"],[\"\\n    vec4 transformPosition(mat4 proj, mat4 view, vec3 pos) {\\n      // Make sure the order of operations is the same as in transformPositionWithDepth.\\n      return proj * (view * vec4(pos, 1.0));\\n    }\\n    \"]))))}Object.defineProperty(r,\"__esModule\",{value:!0}),r.Transform=i,function(e){function r(e,r){t.mat4.translate(v,r.view,r.origin),e.setUniform3fv(\"localOrigin\",r.origin),e.setUniformMatrix4fv(\"view\",v)}e.bindUniforms=r}(i=r.Transform||(r.Transform={}));var s,p,v=o.mat4f32.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/makeTemplateObjectHelper\",\"../util/DecodeNormal.glsl\",\"../../shaderModules/interfaces\"],function(e,r,n,o,l){function a(e,r){0===r.normalType&&(e.attributes.add(\"normal\",\"vec3\"),e.vertex.code.add(l.glsl(d||(d=n([\"\\n      vec3 normalModel() {\\n        return normal;\\n      }\\n    \"],[\"\\n      vec3 normalModel() {\\n        return normal;\\n      }\\n    \"]))))),1===r.normalType&&(e.include(o.DecodeNormal),e.attributes.add(\"normalCompressed\",\"vec2\"),e.vertex.code.add(l.glsl(t||(t=n([\"\\n      vec3 normalModel() {\\n        return decodeNormal(normalCompressed);\\n      }\\n    \"],[\"\\n      vec3 normalModel() {\\n        return decodeNormal(normalCompressed);\\n      }\\n    \"])))))}Object.defineProperty(r,\"__esModule\",{value:!0}),r.NormalAttribute=a;var d,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,t,o,i){function n(e){e.attributes.add(\"position\",\"vec3\"),e.vertex.code.add(i.glsl(r||(r=o([\"\\n    vec3 positionModel() { return position; }\\n  \"],[\"\\n    vec3 positionModel() { return position; }\\n  \"]))))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.PositionAttribute=n;var 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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,t,i,n){function o(e,t){e.vertex.uniforms.add(\"symbolLineWidth\",\"float\"),t.vvSize?(e.attributes.add(\"sizeFeatureAttribute\",\"float\"),e.vertex.uniforms.add(\"vvSizeMinSize\",\"vec3\"),e.vertex.uniforms.add(\"vvSizeMaxSize\",\"vec3\"),e.vertex.uniforms.add(\"vvSizeOffset\",\"vec3\"),e.vertex.uniforms.add(\"vvSizeFactor\",\"vec3\"),e.vertex.code.add(n.glsl(r||(r=i([\"\\n    float getSize() {\\n      return symbolLineWidth * clamp(vvSizeOffset + sizeFeatureAttribute * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize).x;\\n    }\\n    \"],[\"\\n    float getSize() {\\n      return symbolLineWidth * clamp(vvSizeOffset + sizeFeatureAttribute * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize).x;\\n    }\\n    \"]))))):(e.attributes.add(\"size\",\"float\"),e.vertex.code.add(n.glsl(a||(a=i([\"\\n    float getSize(){\\n      return symbolLineWidth * size;\\n    }\\n    \"],[\"\\n    float getSize(){\\n      return symbolLineWidth * size;\\n    }\\n    \"]))))),t.vvOpacity?(e.attributes.add(\"opacityFeatureAttribute\",\"float\"),e.vertex.defines.addInt(\"VV_OPACITY_N\",8),e.vertex.code.add(n.glsl(v||(v=i([\"\\n    uniform float vvOpacityValues[VV_OPACITY_N];\\n    uniform float vvOpacityOpacities[VV_OPACITY_N];\\n\\n    float interpolateOpacity( float value ){\\n      if (value <= vvOpacityValues[0]) {\\n        return vvOpacityOpacities[0];\\n      }\\n\\n      for (int i = 1; i < VV_OPACITY_N; ++i) {\\n        if (vvOpacityValues[i] >= value) {\\n          float f = (value - vvOpacityValues[i-1]) / (vvOpacityValues[i] - vvOpacityValues[i-1]);\\n          return mix(vvOpacityOpacities[i-1], vvOpacityOpacities[i], f);\\n        }\\n      }\\n\\n      return vvOpacityOpacities[VV_OPACITY_N - 1];\\n    }\\n\\n    vec4 applyOpacity( vec4 color ){\\n      return vec4(color.xyz, interpolateOpacity(opacityFeatureAttribute));\\n    }\\n    \"],[\"\\n    uniform float vvOpacityValues[VV_OPACITY_N];\\n    uniform float vvOpacityOpacities[VV_OPACITY_N];\\n\\n    float interpolateOpacity( float value ){\\n      if (value <= vvOpacityValues[0]) {\\n        return vvOpacityOpacities[0];\\n      }\\n\\n      for (int i = 1; i < VV_OPACITY_N; ++i) {\\n        if (vvOpacityValues[i] >= value) {\\n          float f = (value - vvOpacityValues[i-1]) / (vvOpacityValues[i] - vvOpacityValues[i-1]);\\n          return mix(vvOpacityOpacities[i-1], vvOpacityOpacities[i], f);\\n        }\\n      }\\n\\n      return vvOpacityOpacities[VV_OPACITY_N - 1];\\n    }\\n\\n    vec4 applyOpacity( vec4 color ){\\n      return vec4(color.xyz, interpolateOpacity(opacityFeatureAttribute));\\n    }\\n    \"]))))):e.vertex.code.add(n.glsl(l||(l=i([\"\\n    vec4 applyOpacity( vec4 color ){\\n      return color;\\n    }\\n    \"],[\"\\n    vec4 applyOpacity( vec4 color ){\\n      return color;\\n    }\\n    \"])))),t.vvColor?(e.attributes.add(\"colorFeatureAttribute\",\"float\"),e.vertex.defines.addInt(\"VV_COLOR_N\",8),e.vertex.code.add(n.glsl(u||(u=i([\"\\n    uniform float vvColorValues[VV_COLOR_N];\\n    uniform vec4 vvColorColors[VV_COLOR_N];\\n\\n    vec4 interpolateColor( float value ) {\\n      if (value <= vvColorValues[0]) {\\n        return vvColorColors[0];\\n      }\\n\\n      for (int i = 1; i < VV_COLOR_N; ++i) {\\n        if (vvColorValues[i] >= value) {\\n          float f = (value - vvColorValues[i-1]) / (vvColorValues[i] - vvColorValues[i-1]);\\n          return mix(vvColorColors[i-1], vvColorColors[i], f);\\n        }\\n      }\\n\\n      return vvColorColors[VV_COLOR_N - 1];\\n    }\\n\\n    vec4 getColor(){\\n      return applyOpacity(interpolateColor(colorFeatureAttribute));\\n    }\\n    \"],[\"\\n    uniform float vvColorValues[VV_COLOR_N];\\n    uniform vec4 vvColorColors[VV_COLOR_N];\\n\\n    vec4 interpolateColor( float value ) {\\n      if (value <= vvColorValues[0]) {\\n        return vvColorColors[0];\\n      }\\n\\n      for (int i = 1; i < VV_COLOR_N; ++i) {\\n        if (vvColorValues[i] >= value) {\\n          float f = (value - vvColorValues[i-1]) / (vvColorValues[i] - vvColorValues[i-1]);\\n          return mix(vvColorColors[i-1], vvColorColors[i], f);\\n        }\\n      }\\n\\n      return vvColorColors[VV_COLOR_N - 1];\\n    }\\n\\n    vec4 getColor(){\\n      return applyOpacity(interpolateColor(colorFeatureAttribute));\\n    }\\n    \"]))))):(e.attributes.add(\"color\",\"vec4\"),e.vertex.code.add(n.glsl(c||(c=i([\"\\n    vec4 getColor(){\\n      return applyOpacity(color);\\n    }\\n    \"],[\"\\n    vec4 getColor(){\\n      return applyOpacity(color);\\n    }\\n    \"])))))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.RibbonVertexPosition=o;var r,a,v,l,u,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,r,t,o){function d(e,r){1===r.attributeTextureCoordinates&&(e.attributes.add(\"uv0\",\"vec2\"),e.varyings.add(\"vuv0\",\"vec2\"),e.vertex.code.add(o.glsl(n||(n=t([\"\\n      void forwardTextureCoordinates() {\\n        vuv0 = uv0;\\n      }\\n    \"],[\"\\n      void forwardTextureCoordinates() {\\n        vuv0 = uv0;\\n      }\\n    \"]))))),2===r.attributeTextureCoordinates&&(e.attributes.add(\"uv0\",\"vec2\"),e.varyings.add(\"vuv0\",\"vec2\"),e.attributes.add(\"uvRegion\",\"vec4\"),e.varyings.add(\"vuvRegion\",\"vec4\"),e.vertex.code.add(o.glsl(v||(v=t([\"\\n      void forwardTextureCoordinates() {\\n        vuv0 = uv0;\\n        vuvRegion = uvRegion;\\n      }\\n    \"],[\"\\n      void forwardTextureCoordinates() {\\n        vuv0 = uv0;\\n        vuvRegion = uvRegion;\\n      }\\n    \"]))))),0===r.attributeTextureCoordinates&&e.vertex.code.add(o.glsl(u||(u=t([\"\\n      void forwardTextureCoordinates() {}\\n    \"],[\"\\n      void forwardTextureCoordinates() {}\\n    \"]))))}Object.defineProperty(r,\"__esModule\",{value:!0}),r.TextureCoordinateAttribute=d;var n,v,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(o,r,e,d){function l(o,r){r.attributeColor?(o.attributes.add(\"color\",\"vec4\"),o.varyings.add(\"vColor\",\"vec4\"),o.vertex.code.add(d.glsl(t||(t=e([\"\\n      void forwardVertexColor() { vColor = color; }\\n    \"],[\"\\n      void forwardVertexColor() { vColor = color; }\\n    \"])))),o.vertex.code.add(d.glsl(a||(a=e([\"\\n      void forwardNormalizedVertexColor() { vColor = color * 0.003921568627451; }\\n    \"],[\"\\n      void forwardNormalizedVertexColor() { vColor = color * 0.003921568627451; }\\n    \"]))))):o.vertex.code.add(d.glsl(n||(n=e([\"\\n      void forwardVertexColor() {}\\n      void forwardNormalizedVertexColor() {}\\n    \"],[\"\\n      void forwardVertexColor() {}\\n      void forwardNormalizedVertexColor() {}\\n    \"]))))}Object.defineProperty(r,\"__esModule\",{value:!0}),r.VertexColor=l;var t,a,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/makeTemplateObjectHelper\",\"./NormalAttribute.glsl\",\"../../shaderModules/interfaces\"],function(r,o,a,l,e){function m(r,o){0===o.normalType||1===o.normalType?(r.include(l.NormalAttribute,o),r.varyings.add(\"vNormalWorld\",\"vec3\"),r.varyings.add(\"vNormalView\",\"vec3\"),r.vertex.uniforms.add(\"uTransformNormal_GlobalFromModel\",\"mat3\"),r.vertex.uniforms.add(\"uTransformNormal_ViewFromGlobal\",\"mat3\"),r.vertex.code.add(e.glsl(n||(n=a([\"\\n      void forwardNormal() {\\n        vNormalWorld = uTransformNormal_GlobalFromModel * normalModel();\\n        vNormalView = uTransformNormal_ViewFromGlobal * vNormalWorld;\\n      }\\n    \"],[\"\\n      void forwardNormal() {\\n        vNormalWorld = uTransformNormal_GlobalFromModel * normalModel();\\n        vNormalView = uTransformNormal_ViewFromGlobal * vNormalWorld;\\n      }\\n    \"]))))):r.vertex.code.add(e.glsl(d||(d=a([\"\\n      void forwardNormal() {}\\n    \"],[\"\\n      void forwardNormal() {}\\n    \"]))))}Object.defineProperty(o,\"__esModule\",{value:!0}),o.VertexNormal=m,function(r){function o(r,o){r.setUniformMatrix4fv(\"viewNormal\",o.viewInvTransp)}r.bindUniforms=o}(m=o.VertexNormal||(o.VertexNormal={}));var n,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/makeTemplateObjectHelper\",\"./TextureCoordinateAttribute.glsl\",\"../util/TextureAtlasLookup.glsl\",\"../../shaderModules/interfaces\"],function(e,t,r,u,a,o){function n(e,t){e.include(u.TextureCoordinateAttribute,t),e.fragment.code.add(o.glsl(s||(s=r([\"\\n  struct TextureLookupParameter {\\n    vec2 uv;\\n    \",\"\\n  } vtc;\\n  \"],[\"\\n  struct TextureLookupParameter {\\n    vec2 uv;\\n    \",\"\\n  } vtc;\\n  \"])),t.supportsTextureAtlas?\"vec2 size;\":\"\")),1===t.attributeTextureCoordinates&&e.fragment.code.add(o.glsl(p||(p=r([\"\\n      vec4 textureLookup(sampler2D tex, TextureLookupParameter params) {\\n        return texture2D(tex, params.uv);\\n      }\\n    \"],[\"\\n      vec4 textureLookup(sampler2D tex, TextureLookupParameter params) {\\n        return texture2D(tex, params.uv);\\n      }\\n    \"])))),2===t.attributeTextureCoordinates&&(e.include(a.TextureAtlasLookup),e.fragment.code.add(o.glsl(x||(x=r([\"\\n    vec4 textureLookup(sampler2D tex, TextureLookupParameter params) {\\n        return textureAtlasLookup(tex, params.size, params.uv, vuvRegion);\\n      }\\n    \"],[\"\\n    vec4 textureLookup(sampler2D tex, TextureLookupParameter params) {\\n        return textureAtlasLookup(tex, params.size, params.uv, vuvRegion);\\n      }\\n    \"])))))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.VertexTextureCoordinates=n;var s,p,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/makeTemplateObjectHelper\",\"../util/ScreenSizePerspective.glsl\",\"../../shaderModules/interfaces\"],function(e,l,t,r,c){function n(e,l){var n=e.vertex.code;l.verticalOffsetEnabled&&(e.vertex.uniforms.add(\"verticalOffset\",\"vec4\"),l.screenSizePerspectiveEnabled&&(e.include(r.ScreenSizePerspective),e.vertex.uniforms.add(\"screenSizePerspectiveAlignment\",\"vec4\")),n.add(c.glsl(i||(i=t([\"\\n    vec3 calculateVerticalOffset(vec3 worldPos, vec3 localOrigin) {\\n      float viewDistance = length((view * vec4(worldPos, 1.0)).xyz);\\n    \"],[\"\\n    vec3 calculateVerticalOffset(vec3 worldPos, vec3 localOrigin) {\\n      float viewDistance = length((view * vec4(worldPos, 1.0)).xyz);\\n    \"])))),0===l.viewingMode?n.add(c.glsl(a||(a=t([\"\\n      vec3 worldNormal = normalize(worldPos + localOrigin);\\n    \"],[\"\\n      vec3 worldNormal = normalize(worldPos + localOrigin);\\n    \"])))):n.add(c.glsl(s||(s=t([\"\\n      vec3 worldNormal = vec3(0.0, 0.0, 1.0);\\n    \"],[\"\\n      vec3 worldNormal = vec3(0.0, 0.0, 1.0);\\n    \"])))),l.screenSizePerspectiveEnabled?n.add(c.glsl(o||(o=t([\"\\n      float cosAngle = dot(worldNormal, normalize(worldPos - camPos));\\n      float verticalOffsetScreenHeight = screenSizePerspectiveScaleFloat(verticalOffset.x, abs(cosAngle), viewDistance, screenSizePerspectiveAlignment);\\n    \"],[\"\\n      float cosAngle = dot(worldNormal, normalize(worldPos - camPos));\\n      float verticalOffsetScreenHeight = screenSizePerspectiveScaleFloat(verticalOffset.x, abs(cosAngle), viewDistance, screenSizePerspectiveAlignment);\\n    \"])))):n.add(c.glsl(f||(f=t([\"\\n      float verticalOffsetScreenHeight = verticalOffset.x;\\n    \"],[\"\\n      float verticalOffsetScreenHeight = verticalOffset.x;\\n    \"])))),n.add(c.glsl(v||(v=t([\"\\n      float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * viewDistance, verticalOffset.z, verticalOffset.w);\\n      return worldNormal * worldOffset;\\n    }\\n    \"],[\"\\n      float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * viewDistance, verticalOffset.z, verticalOffset.w);\\n      return worldNormal * worldOffset;\\n    }\\n    \"])))))}Object.defineProperty(l,\"__esModule\",{value:!0}),l.VerticalOffset=n;var i,a,s,o,f,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/makeTemplateObjectHelper\",\"../util/RgbaFloatEncoding.glsl\",\"../../shaderModules/interfaces\"],function(t,e,a,n,l){function o(t,e){t.include(n.RgbaFloatEncoding),3===e.output?(t.extensions.add(\"GL_OES_standard_derivatives\"),t.fragment.code.add(l.glsl(r||(r=a([\"\\n      float _calculateFragDepth(const in float depth) {\\n        // calc polygon offset\\n        const float SLOPE_SCALE = 2.0;\\n        const float BIAS = 2.0 * .000015259;    // 1 / (2^16 - 1)\\n        float m = max(abs(dFdx(depth)), abs(dFdy(depth)));\\n        float result = depth + SLOPE_SCALE * m + BIAS;\\n        return clamp(result, .0, .999999);\\n      }\\n\\n      void outputDepth(float _linearDepth) {\\n        gl_FragColor = float2rgba(_calculateFragDepth(_linearDepth));\\n      }\\n    \"],[\"\\n      float _calculateFragDepth(const in float depth) {\\n        // calc polygon offset\\n        const float SLOPE_SCALE = 2.0;\\n        const float BIAS = 2.0 * .000015259;    // 1 / (2^16 - 1)\\n        float m = max(abs(dFdx(depth)), abs(dFdy(depth)));\\n        float result = depth + SLOPE_SCALE * m + BIAS;\\n        return clamp(result, .0, .999999);\\n      }\\n\\n      void outputDepth(float _linearDepth) {\\n        gl_FragColor = float2rgba(_calculateFragDepth(_linearDepth));\\n      }\\n    \"]))))):1===e.output&&t.fragment.code.add(l.glsl(p||(p=a([\"\\n      void outputDepth(float _linearDepth) {\\n        gl_FragColor = float2rgba(_linearDepth);\\n      }\\n    \"],[\"\\n      void outputDepth(float _linearDepth) {\\n        gl_FragColor = float2rgba(_linearDepth);\\n      }\\n    \"]))))}Object.defineProperty(e,\"__esModule\",{value:!0}),e.OutputDepth=o;var r,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,t,i,r){function o(e){e.fragment.uniforms.add(\"depthTex\",\"sampler2D\"),e.fragment.uniforms.add(\"highlightViewportPixelSz\",\"vec4\"),e.fragment.code.add(r.glsl(g||(g=i([\"\\n    void outputHighlight() {\\n      vec4 fragCoord = gl_FragCoord;\\n\\n      float sceneDepth = texture2D(depthTex, (fragCoord.xy - highlightViewportPixelSz.xy) * highlightViewportPixelSz.zw).r;\\n      if (fragCoord.z > sceneDepth + 5e-6) {\\n        gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);\\n      }\\n      else {\\n        gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);\\n      }\\n    }\\n  \"],[\"\\n    void outputHighlight() {\\n      vec4 fragCoord = gl_FragCoord;\\n\\n      float sceneDepth = texture2D(depthTex, (fragCoord.xy - highlightViewportPixelSz.xy) * highlightViewportPixelSz.zw).r;\\n      if (fragCoord.z > sceneDepth + 5e-6) {\\n        gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);\\n      }\\n      else {\\n        gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);\\n      }\\n    }\\n  \"]))))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.OutputHighlight=o,function(e){function t(e,t,i){e.bindTexture(i.highlightDepthTexture,5),t.setUniform1i(\"depthTex\",5),t.setUniform4f(\"highlightViewportPixelSz\",0,0,1/i.viewport[2],1/i.viewport[3])}e.bindOutputHighlight=t}(o=t.OutputHighlight||(t.OutputHighlight={}));var 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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,n,t,a){function o(e){var n=e.fragment.code;n.add(a.glsl(r||(r=t([\"\\n    vec3 evaluateDiffuseIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float NdotNG)\\n    {\\n      return ((1.0 - NdotNG) * ambientGround + (1.0 + NdotNG) * ambientSky) * 0.5;\\n    }\\n    \"],[\"\\n    vec3 evaluateDiffuseIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float NdotNG)\\n    {\\n      return ((1.0 - NdotNG) * ambientGround + (1.0 + NdotNG) * ambientSky) * 0.5;\\n    }\\n    \"])))),n.add(a.glsl(d||(d=t([\"\\n    float integratedRadiance(float cosTheta2, float roughness)\\n    {\\n      return (cosTheta2 - 1.0) / (cosTheta2 * (1.0 - roughness * roughness) - 1.0);\\n    }\\n    \"],[\"\\n    float integratedRadiance(float cosTheta2, float roughness)\\n    {\\n      return (cosTheta2 - 1.0) / (cosTheta2 * (1.0 - roughness * roughness) - 1.0);\\n    }\\n    \"])))),n.add(a.glsl(i||(i=t([\"\\n    vec3 evaluateSpecularIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float RdotNG, float roughness)\\n    {\\n      float cosTheta2 = 1.0 - RdotNG * RdotNG;\\n      float intRadTheta = integratedRadiance(cosTheta2, roughness);\\n\\n      // Calculate the integrated directional radiance of the ground and the sky\\n      float ground = RdotNG < 0.0 ? 1.0 - intRadTheta : 1.0 + intRadTheta;\\n      float sky = 2.0 - ground;\\n      return (ground * ambientGround + sky * ambientSky) * 0.5;\\n    }\\n    \"],[\"\\n    vec3 evaluateSpecularIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float RdotNG, float roughness)\\n    {\\n      float cosTheta2 = 1.0 - RdotNG * RdotNG;\\n      float intRadTheta = integratedRadiance(cosTheta2, roughness);\\n\\n      // Calculate the integrated directional radiance of the ground and the sky\\n      float ground = RdotNG < 0.0 ? 1.0 - intRadTheta : 1.0 + intRadTheta;\\n      float sky = 2.0 - ground;\\n      return (ground * ambientGround + sky * ambientSky) * 0.5;\\n    }\\n    \"]))))}Object.defineProperty(n,\"__esModule\",{value:!0}),n.AnalyticalSkyModel=o;var r,d,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/makeTemplateObjectHelper\",\"../attributes/VertexTextureCoordinates.glsl\",\"../../shaderModules/interfaces\"],function(n,e,t,a,o){function r(n,e){var r=n.fragment;r.uniforms.add(\"normalTexture\",\"sampler2D\"),r.uniforms.add(\"normalTextureSize\",\"vec2\"),e.vertexTangets?(n.attributes.add(\"tangent\",\"vec4\"),n.varyings.add(\"vTangent\",\"vec4\"),n.vertex.code.add(o.glsl(s||(s=t([\"\\n      void transformVertexTangent(mat3 modelTransformForNormals) {\\n        vTangent.xyz = modelTransformForNormals * tangent.xyz;\\n        vTangent.w = tangent.w;\\n      }\\n    \"],[\"\\n      void transformVertexTangent(mat3 modelTransformForNormals) {\\n        vTangent.xyz = modelTransformForNormals * tangent.xyz;\\n        vTangent.w = tangent.w;\\n      }\\n    \"])))),2===e.doubleSidedMode?r.code.add(o.glsl(g||(g=t([\"\\n      mat3 computeTangentSpace(vec3 normal) {\\n        float tangentHeadedness = gl_FrontFacing ? vTangent.w : -vTangent.w;\\n        vec3 tangent = normalize(gl_FrontFacing ? vTangent.xyz : -vTangent.xyz);\\n        vec3 bitangent = cross(normal, tangent) * tangentHeadedness;\\n        return mat3(tangent, bitangent, normal);\\n      }\\n    \"],[\"\\n      mat3 computeTangentSpace(vec3 normal) {\\n        float tangentHeadedness = gl_FrontFacing ? vTangent.w : -vTangent.w;\\n        vec3 tangent = normalize(gl_FrontFacing ? vTangent.xyz : -vTangent.xyz);\\n        vec3 bitangent = cross(normal, tangent) * tangentHeadedness;\\n        return mat3(tangent, bitangent, normal);\\n      }\\n    \"])))):r.code.add(o.glsl(d||(d=t([\"\\n      mat3 computeTangentSpace(vec3 normal) {\\n        float tangentHeadedness = vTangent.w;\\n        vec3 tangent = normalize(vTangent.xyz);\\n        vec3 bitangent = cross(normal, tangent) * tangentHeadedness;\\n        return mat3(tangent, bitangent, normal);\\n      }\\n    \"],[\"\\n      mat3 computeTangentSpace(vec3 normal) {\\n        float tangentHeadedness = vTangent.w;\\n        vec3 tangent = normalize(vTangent.xyz);\\n        vec3 bitangent = cross(normal, tangent) * tangentHeadedness;\\n        return mat3(tangent, bitangent, normal);\\n      }\\n    \"]))))):(n.extensions.add(\"GL_OES_standard_derivatives\"),r.code.add(o.glsl(m||(m=t(['\\n    mat3 computeTangentSpace(vec3 normal, vec3 pos, vec2 st) {\\n\\n      vec3 Q1 = dFdx(pos);\\n      vec3 Q2 = dFdy(pos);\\n\\n      vec2 stx = dFdx(st);\\n      vec2 sty = dFdy(st);\\n\\n      float det = stx.t * sty.s - sty.t * stx.s;\\n\\n      vec3 T = stx.t * Q2 - sty.t * Q1; // compute tangent\\n      T = T - normal * dot(normal, T); // orthogonalize tangent\\n      T *= inversesqrt(max(dot(T,T), 1.e-10)); // \"soft\" normalize - goes to 0 when T goes to 0\\n      vec3 B = sign(det) * cross(normal, T); // assume normal is normalized, B has the same lenght as B\\n      return mat3(T, B, normal); // T and B go to 0 when the tangent space is not well defined by the uv coordinates\\n    }\\n  '],['\\n    mat3 computeTangentSpace(vec3 normal, vec3 pos, vec2 st) {\\n\\n      vec3 Q1 = dFdx(pos);\\n      vec3 Q2 = dFdy(pos);\\n\\n      vec2 stx = dFdx(st);\\n      vec2 sty = dFdy(st);\\n\\n      float det = stx.t * sty.s - sty.t * stx.s;\\n\\n      vec3 T = stx.t * Q2 - sty.t * Q1; // compute tangent\\n      T = T - normal * dot(normal, T); // orthogonalize tangent\\n      T *= inversesqrt(max(dot(T,T), 1.e-10)); // \"soft\" normalize - goes to 0 when T goes to 0\\n      vec3 B = sign(det) * cross(normal, T); // assume normal is normalized, B has the same lenght as B\\n      return mat3(T, B, normal); // T and B go to 0 when the tangent space is not well defined by the uv coordinates\\n    }\\n  ']))))),0!==e.attributeTextureCoordinates&&(n.include(a.VertexTextureCoordinates,e),r.code.add(o.glsl(l||(l=t([\"\\n    vec3 computeTextureNormal(mat3 tangentSpace, vec2 uv) {\\n      vtc.uv = uv;\\n      \",\"\\n      vec3 rawNormal = textureLookup(normalTexture, vtc).rgb * 2.0 - 1.0;\\n      return tangentSpace * rawNormal;\\n    }\\n  \"],[\"\\n    vec3 computeTextureNormal(mat3 tangentSpace, vec2 uv) {\\n      vtc.uv = uv;\\n      \",\"\\n      vec3 rawNormal = textureLookup(normalTexture, vtc).rgb * 2.0 - 1.0;\\n      return tangentSpace * rawNormal;\\n    }\\n  \"])),e.supportsTextureAtlas?\"vtc.size = normalTextureSize;\":\"\")))}Object.defineProperty(e,\"__esModule\",{value:!0}),e.ComputeNormalTexture=r;var s,g,d,m,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(n,i,e,t){function a(n,i){var a=n.fragment,r=void 0!==i.lightingSphericalHarmonicsOrder?i.lightingSphericalHarmonicsOrder:2;0===r?(a.uniforms.add(\"lightingAmbientSH0\",\"vec3\"),a.code.add(t.glsl(l||(l=e([\"\\n      /**\\n       * @param normal            shading normal in global coordinate space\\n       * @param ambientOcclusion  amount of occlusion of the ambient light (1 => full occlusion)\\n       */\\n      vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\\n        vec3 ambientLight = 0.282095 * lightingAmbientSH0;\\n        return ambientLight * (1.0 - ambientOcclusion);\\n      }\\n    \"],[\"\\n      /**\\n       * @param normal            shading normal in global coordinate space\\n       * @param ambientOcclusion  amount of occlusion of the ambient light (1 => full occlusion)\\n       */\\n      vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\\n        vec3 ambientLight = 0.282095 * lightingAmbientSH0;\\n        return ambientLight * (1.0 - ambientOcclusion);\\n      }\\n    \"]))))):1===r?(a.uniforms.add(\"lightingAmbientSH_R\",\"vec4\"),a.uniforms.add(\"lightingAmbientSH_G\",\"vec4\"),a.uniforms.add(\"lightingAmbientSH_B\",\"vec4\"),a.code.add(t.glsl(o||(o=e([\"\\n      vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\\n        vec4 sh0 = vec4(\\n          0.282095,\\n          0.488603 * normal.x,\\n          0.488603 * normal.z,\\n          0.488603 * normal.y\\n        );\\n        vec3 ambientLight = vec3(\\n          dot(lightingAmbientSH_R, sh0),\\n          dot(lightingAmbientSH_G, sh0),\\n          dot(lightingAmbientSH_B, sh0)\\n        );\\n        return ambientLight * (1.0 - ambientOcclusion);\\n      }\\n    \"],[\"\\n      vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\\n        vec4 sh0 = vec4(\\n          0.282095,\\n          0.488603 * normal.x,\\n          0.488603 * normal.z,\\n          0.488603 * normal.y\\n        );\\n        vec3 ambientLight = vec3(\\n          dot(lightingAmbientSH_R, sh0),\\n          dot(lightingAmbientSH_G, sh0),\\n          dot(lightingAmbientSH_B, sh0)\\n        );\\n        return ambientLight * (1.0 - ambientOcclusion);\\n      }\\n    \"]))))):2===r&&(a.uniforms.add(\"lightingAmbientSH0\",\"vec3\"),a.uniforms.add(\"lightingAmbientSH_R1\",\"vec4\"),a.uniforms.add(\"lightingAmbientSH_G1\",\"vec4\"),a.uniforms.add(\"lightingAmbientSH_B1\",\"vec4\"),a.uniforms.add(\"lightingAmbientSH_R2\",\"vec4\"),a.uniforms.add(\"lightingAmbientSH_G2\",\"vec4\"),a.uniforms.add(\"lightingAmbientSH_B2\",\"vec4\"),a.code.add(t.glsl(c||(c=e([\"\\n      /**\\n       * @param normal            shading normal in global coordinate space\\n       * @param ambientOcclusion  amount of occlusion of the ambient light (1 => full occlusion)\\n       */\\n      vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\\n        vec3 ambientLight = 0.282095 * lightingAmbientSH0;\\n\\n        vec4 sh1 = vec4(\\n          0.488603 * normal.x,\\n          0.488603 * normal.z,\\n          0.488603 * normal.y,\\n          1.092548 * normal.x * normal.y\\n        );\\n        vec4 sh2 = vec4(\\n          1.092548 * normal.y * normal.z,\\n          0.315392 * (3.0 * normal.z * normal.z - 1.0),\\n          1.092548 * normal.x * normal.z,\\n          0.546274 * (normal.x * normal.x - normal.y * normal.y)\\n        );\\n        ambientLight += vec3(\\n          dot(lightingAmbientSH_R1, sh1),\\n          dot(lightingAmbientSH_G1, sh1),\\n          dot(lightingAmbientSH_B1, sh1)\\n        );\\n        ambientLight += vec3(\\n          dot(lightingAmbientSH_R2, sh2),\\n          dot(lightingAmbientSH_G2, sh2),\\n          dot(lightingAmbientSH_B2, sh2)\\n        );\\n        return ambientLight * (1.0 - ambientOcclusion);\\n      }\\n    \"],[\"\\n      /**\\n       * @param normal            shading normal in global coordinate space\\n       * @param ambientOcclusion  amount of occlusion of the ambient light (1 => full occlusion)\\n       */\\n      vec3 calculateAmbientIrradiance(vec3 normal, float ambientOcclusion) {\\n        vec3 ambientLight = 0.282095 * lightingAmbientSH0;\\n\\n        vec4 sh1 = vec4(\\n          0.488603 * normal.x,\\n          0.488603 * normal.z,\\n          0.488603 * normal.y,\\n          1.092548 * normal.x * normal.y\\n        );\\n        vec4 sh2 = vec4(\\n          1.092548 * normal.y * normal.z,\\n          0.315392 * (3.0 * normal.z * normal.z - 1.0),\\n          1.092548 * normal.x * normal.z,\\n          0.546274 * (normal.x * normal.x - normal.y * normal.y)\\n        );\\n        ambientLight += vec3(\\n          dot(lightingAmbientSH_R1, sh1),\\n          dot(lightingAmbientSH_G1, sh1),\\n          dot(lightingAmbientSH_B1, sh1)\\n        );\\n        ambientLight += vec3(\\n          dot(lightingAmbientSH_R2, sh2),\\n          dot(lightingAmbientSH_G2, sh2),\\n          dot(lightingAmbientSH_B2, sh2)\\n        );\\n        return ambientLight * (1.0 - ambientOcclusion);\\n      }\\n    \"])))),i.usePBR&&a.code.add(t.glsl(m||(m=e([\"\\n        // calculateAmbientRadiance is used calculate specular radiance of the sky\\n        // - in the night calculateAmbientRadiance gives darker color compared to calculateAmbientComponent which integrates contributions of the moon\\n        // - calculateAmbientRadiance gives more predictable color compared to calculateAmbientIrradiance that depends on normal\\n        // - in future more physically accurate model should be established\\n        vec3 calculateAmbientRadiance(float ssao)\\n        {\\n          // evaluate the sh ambient light\\n          vec3 ambientLight ;\\n          ambientLight = 1.2 * (0.282095 * lightingAmbientSH0) - 0.2; // returning the darker value in the night\\n\\n          return ambientLight *= (1.0 - ssao) * skyTransmittance; // skyTransmittance is slightly bluish giving more natural look\\n        }\\n      \"],[\"\\n        // calculateAmbientRadiance is used calculate specular radiance of the sky\\n        // - in the night calculateAmbientRadiance gives darker color compared to calculateAmbientComponent which integrates contributions of the moon\\n        // - calculateAmbientRadiance gives more predictable color compared to calculateAmbientIrradiance that depends on normal\\n        // - in future more physically accurate model should be established\\n        vec3 calculateAmbientRadiance(float ssao)\\n        {\\n          // evaluate the sh ambient light\\n          vec3 ambientLight ;\\n          ambientLight = 1.2 * (0.282095 * lightingAmbientSH0) - 0.2; // returning the darker value in the night\\n\\n          return ambientLight *= (1.0 - ssao) * skyTransmittance; // skyTransmittance is slightly bluish giving more natural look\\n        }\\n      \"])))))}Object.defineProperty(i,\"__esModule\",{value:!0}),i.EvaluateAmbientLighting=a;var l,o,c,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,n,t,o){function r(e,n){var r=e.fragment;n.receiveAmbientOcclusion?(r.uniforms.add(\"ssaoTex\",\"sampler2D\"),r.uniforms.add(\"viewportPixelSz\",\"vec4\"),r.code.add(o.glsl(a||(a=t([\"\\n      float evaluateAmbientOcclusion() {\\n        return 1.0 - texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;\\n      }\\n\\n      float evaluateAmbientOcclusionInverse() {\\n        float ssao = texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;\\n        return viewportPixelSz.z < 0.0 ? 1.0 : ssao;\\n      }\\n    \"],[\"\\n      float evaluateAmbientOcclusion() {\\n        return 1.0 - texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;\\n      }\\n\\n      float evaluateAmbientOcclusionInverse() {\\n        float ssao = texture2D(ssaoTex, (gl_FragCoord.xy - viewportPixelSz.xy) * viewportPixelSz.zw).a;\\n        return viewportPixelSz.z < 0.0 ? 1.0 : ssao;\\n      }\\n    \"]))))):r.code.add(o.glsl(l||(l=t([\"\\n      float evaluateAmbientOcclusion() { return 0.0; } // no occlusion\\n      float evaluateAmbientOcclusionInverse() { return 1.0; }\\n    \"],[\"\\n      float evaluateAmbientOcclusion() { return 0.0; } // no occlusion\\n      float evaluateAmbientOcclusionInverse() { return 1.0; }\\n    \"]))))}Object.defineProperty(n,\"__esModule\",{value:!0}),n.EvaluateAmbientOcclusion=r;var a,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(n,i,t,a){function e(n){var i=n.fragment;i.uniforms.add(\"lightingMainDirection\",\"vec3\"),i.uniforms.add(\"lightingMainIntensity\",\"vec3\"),i.uniforms.add(\"lightingFixedFactor\",\"float\"),i.code.add(a.glsl(o||(o=t([\"\\n    vec3 evaluateMainLighting(vec3 normal_global, float shadowing) {\\n      float dotVal = clamp(-dot(normal_global, lightingMainDirection), 0.0, 1.0);\\n\\n      // move lighting towards (1.0, 1.0, 1.0) if requested\\n      dotVal = mix(dotVal, 1.0, lightingFixedFactor);\\n\\n      return lightingMainIntensity * ((1.0 - shadowing) * dotVal);\\n    }\\n  \"],[\"\\n    vec3 evaluateMainLighting(vec3 normal_global, float shadowing) {\\n      float dotVal = clamp(-dot(normal_global, lightingMainDirection), 0.0, 1.0);\\n\\n      // move lighting towards (1.0, 1.0, 1.0) if requested\\n      dotVal = mix(dotVal, 1.0, lightingFixedFactor);\\n\\n      return lightingMainIntensity * ((1.0 - shadowing) * dotVal);\\n    }\\n  \"]))))}Object.defineProperty(i,\"__esModule\",{value:!0}),i.EvaluateMainLighting=e;var 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/makeTemplateObjectHelper\",\"./EvaluateAmbientLighting.glsl\",\"./EvaluateAmbientOcclusion.glsl\",\"./EvaluateMainLighting.glsl\",\"./PhysicallyBasedRendering.glsl\",\"./PiUtils.glsl\",\"./ReadShadowMap.glsl\",\"../../shaderModules/interfaces\"],function(n,e,t,i,a,o,l,r,c,d){function s(n,e){var s=n.fragment;n.include(o.EvaluateMainLighting),n.include(a.EvaluateAmbientOcclusion,e),e.usePBR&&n.include(l.PhysicallyBasedRendering,e),n.include(i.EvaluateAmbientLighting,e),e.receiveShadows&&n.include(c.ReadShadowMap,e),s.uniforms.add(\"lightingGlobalFactor\",\"float\"),s.uniforms.add(\"ambientBoostFactor\",\"float\"),e.useOldSceneLightInterface?(n.include(r.PiUtils),s.code.add(d.glsl(m||(m=t([\"\\n    const float GAMMA_SRGB = 2.1;\\n    const float INV_GAMMA_SRGB = 0.4761904;  // 1 / GAMMA_SRGB\\n\\n    vec3 evaluateSceneLightingExt(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight) {\\n      // evaluate the main light\\n      #if defined(TREE_RENDERING)\\n        // Special case for tree rendering:\\n        // We shift the Lambert lobe to the back, allowing it to reach part of the hemisphere\\n        // facing away from the light. The idea is to get an effect where light is transmitted\\n        // through the tree.\\n        float minDot = -0.5;\\n        float dotRange = 1.0 - minDot;\\n        float dotNormalization = 0.66; // guessed & hand tweaked value, for an exact value we could precompute an integral over the sphere\\n\\n        float dotVal = dotNormalization * (clamp(-dot(normal, lightingMainDirection), 1.0 - dotRange, 1.0) - minDot) * (1.0 / dotRange);\\n      #else\\n        float dotVal = clamp(-dot(normal, lightingMainDirection), 0.0, 1.0);\\n      #endif\\n\\n      // move lighting towards (1.0, 1.0, 1.0) if requested\\n      dotVal = mix(dotVal, 1.0, lightingFixedFactor);\\n\\n      vec3 mainLight = (1.0 - shadow) * lightingMainIntensity * dotVal;\\n      vec3 ambientLight = calculateAmbientIrradiance(normal, ssao);\\n\\n      // inverse gamma correction on the albedo color\\n      vec3 albedoGammaC = pow(albedo, vec3(GAMMA_SRGB));\\n\\n      // physically correct BRDF normalizes by PI\\n      vec3 totalLight = mainLight + ambientLight + additionalLight;\\n      totalLight = min(totalLight, vec3(PI, PI, PI));\\n      vec3 outColor = vec3((albedoGammaC / PI) * (totalLight));\\n\\n      // apply gamma correction to the computed color\\n      outColor = pow(outColor, vec3(1.0/GAMMA_SRGB));\\n\\n      return outColor;\\n    }\\n  \"],[\"\\n    const float GAMMA_SRGB = 2.1;\\n    const float INV_GAMMA_SRGB = 0.4761904;  // 1 / GAMMA_SRGB\\n\\n    vec3 evaluateSceneLightingExt(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight) {\\n      // evaluate the main light\\n      #if defined(TREE_RENDERING)\\n        // Special case for tree rendering:\\n        // We shift the Lambert lobe to the back, allowing it to reach part of the hemisphere\\n        // facing away from the light. The idea is to get an effect where light is transmitted\\n        // through the tree.\\n        float minDot = -0.5;\\n        float dotRange = 1.0 - minDot;\\n        float dotNormalization = 0.66; // guessed & hand tweaked value, for an exact value we could precompute an integral over the sphere\\n\\n        float dotVal = dotNormalization * (clamp(-dot(normal, lightingMainDirection), 1.0 - dotRange, 1.0) - minDot) * (1.0 / dotRange);\\n      #else\\n        float dotVal = clamp(-dot(normal, lightingMainDirection), 0.0, 1.0);\\n      #endif\\n\\n      // move lighting towards (1.0, 1.0, 1.0) if requested\\n      dotVal = mix(dotVal, 1.0, lightingFixedFactor);\\n\\n      vec3 mainLight = (1.0 - shadow) * lightingMainIntensity * dotVal;\\n      vec3 ambientLight = calculateAmbientIrradiance(normal, ssao);\\n\\n      // inverse gamma correction on the albedo color\\n      vec3 albedoGammaC = pow(albedo, vec3(GAMMA_SRGB));\\n\\n      // physically correct BRDF normalizes by PI\\n      vec3 totalLight = mainLight + ambientLight + additionalLight;\\n      totalLight = min(totalLight, vec3(PI, PI, PI));\\n      vec3 outColor = vec3((albedoGammaC / PI) * (totalLight));\\n\\n      // apply gamma correction to the computed color\\n      outColor = pow(outColor, vec3(1.0/GAMMA_SRGB));\\n\\n      return outColor;\\n    }\\n  \"]))))):(0===e.viewingMode?s.code.add(d.glsl(h||(h=t([\"\\n      float _oldHeuristicLighting(vec3 vPosWorld) {\\n        vec3 shadingNormalWorld = normalize(vPosWorld);\\n        float vndl = -dot(shadingNormalWorld, lightingMainDirection);\\n\\n        return smoothstep(0.0, 1.0, clamp(vndl * 2.5, 0.0, 1.0));\\n      }\\n    \"],[\"\\n      float _oldHeuristicLighting(vec3 vPosWorld) {\\n        vec3 shadingNormalWorld = normalize(vPosWorld);\\n        float vndl = -dot(shadingNormalWorld, lightingMainDirection);\\n\\n        return smoothstep(0.0, 1.0, clamp(vndl * 2.5, 0.0, 1.0));\\n      }\\n    \"])))):s.code.add(d.glsl(g||(g=t([\"\\n      float _oldHeuristicLighting(vec3 vPosWorld) {\\n        float vndl = -dot(vec3(0.0, 0.0, 1.0), lightingMainDirection);\\n        return smoothstep(0.0, 1.0, clamp(vndl * 2.5, 0.0, 1.0));\\n      }\\n    \"],[\"\\n      float _oldHeuristicLighting(vec3 vPosWorld) {\\n        float vndl = -dot(vec3(0.0, 0.0, 1.0), lightingMainDirection);\\n        return smoothstep(0.0, 1.0, clamp(vndl * 2.5, 0.0, 1.0));\\n      }\\n    \"])))),s.code.add(d.glsl(u||(u=t([\"\\n      vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {\\n        float additionalAmbientScale = _oldHeuristicLighting(vPosWorld);\\n        return (1.0 - ambientOcclusion) * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor * lightingMainIntensity;\\n      }\\n    \"],[\"\\n      vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {\\n        float additionalAmbientScale = _oldHeuristicLighting(vPosWorld);\\n        return (1.0 - ambientOcclusion) * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor * lightingMainIntensity;\\n      }\\n    \"])))),e.usePBR?(s.code.add(d.glsl(v||(v=t([\"\\n      // The albedo color of the ground used in the environment illumination algorithm\\n      const float GROUND_REFLECTANCE = 0.2; //This is the set value of the diffuse reflectance of the ground surface\\n\\n      const float GAMMA_SRGB = 2.1;\\n      const float INV_GAMMA_SRGB = 0.4761904;  // 1 / GAMMA_SRGB\\n      \"],[\"\\n      // The albedo color of the ground used in the environment illumination algorithm\\n      const float GROUND_REFLECTANCE = 0.2; //This is the set value of the diffuse reflectance of the ground surface\\n\\n      const float GAMMA_SRGB = 2.1;\\n      const float INV_GAMMA_SRGB = 0.4761904;  // 1 / GAMMA_SRGB\\n      \"])))),s.code.add(d.glsl(f||(f=t([\"\\n      vec3 evaluateSceneLightingPBR(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight, vec3 viewDir, vec3 normalGround, float _roughness, float _metalness, vec3 _emission, float _reflectance, float additionalAmbientIrradiance)\\n      {\\n        // Calculate half vector between view and light direction\\n        vec3 viewDirection = -viewDir;\\n        vec3 mainLightDirection = -lightingMainDirection;\\n        vec3 h = normalize(viewDirection + mainLightDirection);\\n\\n        PBRShadingInfo inputs;\\n        inputs.NdotL = clamp(dot(normal, mainLightDirection), 0.001, 1.0);\\n        inputs.NdotV = clamp(abs(dot(normal, viewDirection)), 0.001, 1.0);\\n        inputs.NdotH = clamp(dot(normal, h), 0.0, 1.0);\\n        inputs.VdotH = clamp(dot(viewDirection, h), 0.0, 1.0);\\n        inputs.NdotNG = clamp(dot(normal, normalGround), -1.0, 1.0);\\n        vec3 reflectedView = normalize(reflect(viewDirection, normal));\\n        inputs.RdotNG = clamp(dot(reflectedView, normalGround), -1.0, 1.0);\\n\\n        inputs.albedoLinear = pow(albedo, vec3(GAMMA_SRGB));\\n        inputs.groundReflectance = vec3(GROUND_REFLECTANCE);\\n        inputs.ssao = ssao;\\n\\n        inputs.roughness = clamp(_roughness * _roughness, 0.001, 0.99);\\n        inputs.metalness = _metalness;\\n      \"],[\"\\n      vec3 evaluateSceneLightingPBR(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight, vec3 viewDir, vec3 normalGround, float _roughness, float _metalness, vec3 _emission, float _reflectance, float additionalAmbientIrradiance)\\n      {\\n        // Calculate half vector between view and light direction\\n        vec3 viewDirection = -viewDir;\\n        vec3 mainLightDirection = -lightingMainDirection;\\n        vec3 h = normalize(viewDirection + mainLightDirection);\\n\\n        PBRShadingInfo inputs;\\n        inputs.NdotL = clamp(dot(normal, mainLightDirection), 0.001, 1.0);\\n        inputs.NdotV = clamp(abs(dot(normal, viewDirection)), 0.001, 1.0);\\n        inputs.NdotH = clamp(dot(normal, h), 0.0, 1.0);\\n        inputs.VdotH = clamp(dot(viewDirection, h), 0.0, 1.0);\\n        inputs.NdotNG = clamp(dot(normal, normalGround), -1.0, 1.0);\\n        vec3 reflectedView = normalize(reflect(viewDirection, normal));\\n        inputs.RdotNG = clamp(dot(reflectedView, normalGround), -1.0, 1.0);\\n\\n        inputs.albedoLinear = pow(albedo, vec3(GAMMA_SRGB));\\n        inputs.groundReflectance = vec3(GROUND_REFLECTANCE);\\n        inputs.ssao = ssao;\\n\\n        inputs.roughness = clamp(_roughness * _roughness, 0.001, 0.99);\\n        inputs.metalness = _metalness;\\n      \"])))),s.code.add(d.glsl(L||(L=t([\"\\n        inputs.f0 = (0.16 * _reflectance * _reflectance) * (1.0 - inputs.metalness) + inputs.albedoLinear * inputs.metalness;\\n        inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0)); // more accurate then using  f90 = 1.0\\n        inputs.diffuseColor = inputs.albedoLinear * (vec3(1.0) - inputs.f0) * (1.0 - inputs.metalness);\\n      \"],[\"\\n        inputs.f0 = (0.16 * _reflectance * _reflectance) * (1.0 - inputs.metalness) + inputs.albedoLinear * inputs.metalness;\\n        inputs.f90 = vec3(clamp(dot(inputs.f0, vec3(50.0 * 0.33)), 0.0, 1.0)); // more accurate then using  f90 = 1.0\\n        inputs.diffuseColor = inputs.albedoLinear * (vec3(1.0) - inputs.f0) * (1.0 - inputs.metalness);\\n      \"])))),s.code.add(d.glsl(b||(b=t([\"\\n        vec3 ambientDir = normalize(vec3(5.0 * normalGround[1] - normalGround[0] * normalGround[2],\\n                                      - 5.0 * normalGround[0] - normalGround[2] * normalGround[1],\\n                                        normalGround[1] * normalGround[1] + normalGround[0] * normalGround[0]));\\n\\n        inputs.NdotAmbDir = abs(dot(normal, ambientDir));\\n\\n        // Calculate the irradiance components: sun, fill lights and the sky.\\n        vec3 mainLightIrradianceComponent  = inputs.NdotL * (1.0 - shadow) * lightingMainIntensity;\\n        vec3 fillLightsIrradianceComponent = inputs.NdotAmbDir * lightingMainIntensity * fillLightIntensity;\\n        // calculateAmbientIrradiance for localView and additionalLight for gloabalView\\n        vec3 ambientLightIrradianceComponent = calculateAmbientIrradiance(normal, ssao) + additionalLight;\\n\\n        // Assemble the overall irradiance of the sky that illuminates the surface\\n        inputs.skyIrradianceToSurface    = ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;\\n        // Assemble the overall irradiance of the ground that illuminates the surface. for this we use the simple model that changes only the sky irradiance by the groundReflectance\\n        inputs.groundIrradianceToSurface = inputs.groundReflectance * ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;\\n      \"],[\"\\n        vec3 ambientDir = normalize(vec3(5.0 * normalGround[1] - normalGround[0] * normalGround[2],\\n                                      - 5.0 * normalGround[0] - normalGround[2] * normalGround[1],\\n                                        normalGround[1] * normalGround[1] + normalGround[0] * normalGround[0]));\\n\\n        inputs.NdotAmbDir = abs(dot(normal, ambientDir));\\n\\n        // Calculate the irradiance components: sun, fill lights and the sky.\\n        vec3 mainLightIrradianceComponent  = inputs.NdotL * (1.0 - shadow) * lightingMainIntensity;\\n        vec3 fillLightsIrradianceComponent = inputs.NdotAmbDir * lightingMainIntensity * fillLightIntensity;\\n        // calculateAmbientIrradiance for localView and additionalLight for gloabalView\\n        vec3 ambientLightIrradianceComponent = calculateAmbientIrradiance(normal, ssao) + additionalLight;\\n\\n        // Assemble the overall irradiance of the sky that illuminates the surface\\n        inputs.skyIrradianceToSurface    = ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;\\n        // Assemble the overall irradiance of the ground that illuminates the surface. for this we use the simple model that changes only the sky irradiance by the groundReflectance\\n        inputs.groundIrradianceToSurface = inputs.groundReflectance * ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;\\n      \"])))),s.code.add(d.glsl(R||(R=t([\"\\n        vec3 horizonRingDir = inputs.RdotNG * normalGround - reflectedView;\\n        vec3 horizonRingH = normalize(viewDirection + horizonRingDir);\\n        inputs.NdotH_Horizon = dot(normal, horizonRingH);\\n\\n        vec3 mainLightRadianceComponent  = normalDistribution(inputs.NdotH, inputs.roughness) * lightingMainIntensity * (1.0 - shadow);\\n        vec3 horizonLightRadianceComponent = normalDistribution(inputs.NdotH_Horizon, min(inputs.roughness + horizonLightDiffusion, 1.0)) * lightingMainIntensity * fillLightIntensity;\\n        vec3 ambientLightRadianceComponent = calculateAmbientRadiance(ssao) + additionalLight; // calculateAmbientRadiance for localView and additionalLight for gloabalView\\n\\n        // Assemble the overall radiance of the sky that illuminates the surface\\n        inputs.skyRadianceToSurface    =  ambientLightRadianceComponent + mainLightRadianceComponent + horizonLightRadianceComponent;\\n        // Assemble the overall radiance of the ground that illuminates the surface. for this we use the simple model that changes only the sky radince by the groundReflectance\\n        inputs.groundRadianceToSurface = inputs.groundReflectance * (ambientLightRadianceComponent + horizonLightRadianceComponent) + mainLightRadianceComponent;\\n\\n        // Calculate average ambient radiance - this is used int the gamut mapping part to deduce the black level that is soft compressed\\n        inputs.averageAmbientRadiance = ambientLightIrradianceComponent[1] * (1.0 + inputs.groundReflectance[1]);\\n        \"],[\"\\n        vec3 horizonRingDir = inputs.RdotNG * normalGround - reflectedView;\\n        vec3 horizonRingH = normalize(viewDirection + horizonRingDir);\\n        inputs.NdotH_Horizon = dot(normal, horizonRingH);\\n\\n        vec3 mainLightRadianceComponent  = normalDistribution(inputs.NdotH, inputs.roughness) * lightingMainIntensity * (1.0 - shadow);\\n        vec3 horizonLightRadianceComponent = normalDistribution(inputs.NdotH_Horizon, min(inputs.roughness + horizonLightDiffusion, 1.0)) * lightingMainIntensity * fillLightIntensity;\\n        vec3 ambientLightRadianceComponent = calculateAmbientRadiance(ssao) + additionalLight; // calculateAmbientRadiance for localView and additionalLight for gloabalView\\n\\n        // Assemble the overall radiance of the sky that illuminates the surface\\n        inputs.skyRadianceToSurface    =  ambientLightRadianceComponent + mainLightRadianceComponent + horizonLightRadianceComponent;\\n        // Assemble the overall radiance of the ground that illuminates the surface. for this we use the simple model that changes only the sky radince by the groundReflectance\\n        inputs.groundRadianceToSurface = inputs.groundReflectance * (ambientLightRadianceComponent + horizonLightRadianceComponent) + mainLightRadianceComponent;\\n\\n        // Calculate average ambient radiance - this is used int the gamut mapping part to deduce the black level that is soft compressed\\n        inputs.averageAmbientRadiance = ambientLightIrradianceComponent[1] * (1.0 + inputs.groundReflectance[1]);\\n        \"])))),s.code.add(d.glsl(C||(C=t([\"\\n        vec3 reflectedColorComponent = evaluateEnvironmentIllumination(inputs);\\n        vec3 additionalMaterialReflectanceComponent = inputs.albedoLinear * additionalAmbientIrradiance;\\n        vec3 emissionComponent = pow(_emission, vec3(GAMMA_SRGB));\\n        vec3 outColorLinear = reflectedColorComponent + additionalMaterialReflectanceComponent + emissionComponent;\\n        vec3 outColor = pow(blackLevelSoftCompression(outColorLinear, inputs), vec3(INV_GAMMA_SRGB));\\n        return outColor;\\n      }\\n    \"],[\"\\n        vec3 reflectedColorComponent = evaluateEnvironmentIllumination(inputs);\\n        vec3 additionalMaterialReflectanceComponent = inputs.albedoLinear * additionalAmbientIrradiance;\\n        vec3 emissionComponent = pow(_emission, vec3(GAMMA_SRGB));\\n        vec3 outColorLinear = reflectedColorComponent + additionalMaterialReflectanceComponent + emissionComponent;\\n        vec3 outColor = pow(blackLevelSoftCompression(outColorLinear, inputs), vec3(INV_GAMMA_SRGB));\\n        return outColor;\\n      }\\n    \"]))))):s.code.add(d.glsl(p||(p=t([\"\\n      vec3 evaluateSceneLighting(vec3 normalWorld, vec3 baseColor, float mainLightShadow, float ambientOcclusion, vec3 additionalLight)\\n      {\\n        vec3 mainLighting = evaluateMainLighting(normalWorld, mainLightShadow);\\n        vec3 ambientLighting = calculateAmbientIrradiance(normalWorld, ambientOcclusion);\\n        // inverse gamma correction on the base color\\n        float gamma = 2.1;\\n        vec3 baseColorLinear = pow(baseColor, vec3(gamma));\\n\\n        // physically correct BRDF normalizes by PI\\n        const float PI = 3.14159;\\n        vec3 totalLight = mainLighting + ambientLighting + additionalLight;\\n        totalLight = min(totalLight, vec3(PI, PI, PI));\\n        vec3 outColor = vec3((baseColorLinear / PI) * totalLight);\\n\\n        // apply gamma correction to the computed color\\n        outColor = pow(outColor, vec3(1.0/gamma));\\n\\n        return outColor;\\n      }\\n      \"],[\"\\n      vec3 evaluateSceneLighting(vec3 normalWorld, vec3 baseColor, float mainLightShadow, float ambientOcclusion, vec3 additionalLight)\\n      {\\n        vec3 mainLighting = evaluateMainLighting(normalWorld, mainLightShadow);\\n        vec3 ambientLighting = calculateAmbientIrradiance(normalWorld, ambientOcclusion);\\n        // inverse gamma correction on the base color\\n        float gamma = 2.1;\\n        vec3 baseColorLinear = pow(baseColor, vec3(gamma));\\n\\n        // physically correct BRDF normalizes by PI\\n        const float PI = 3.14159;\\n        vec3 totalLight = mainLighting + ambientLighting + additionalLight;\\n        totalLight = min(totalLight, vec3(PI, PI, PI));\\n        vec3 outColor = vec3((baseColorLinear / PI) * totalLight);\\n\\n        // apply gamma correction to the computed color\\n        outColor = pow(outColor, vec3(1.0/gamma));\\n\\n        return outColor;\\n      }\\n      \"])))))}Object.defineProperty(e,\"__esModule\",{value:!0}),e.EvaluateSceneLighting=s;var m,h,g,u,p,v,f,L,b,R,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,n,o,r){function c(e){e.fragment.code.add(r.glsl(a||(a=o([\"\\n    const float GAMMA = 2.2;\\n    const float INV_GAMMA = 0.4545454545; // 1 / GAMMA\\n\\n    // gamma correction\\n    vec4 delinearizeGamma(vec4 color) {\\n      return vec4(pow(color.rgb, vec3(INV_GAMMA)), color.w);\\n    }\\n\\n    vec3 linearizeGamma(vec3 color) {\\n      return pow(color, vec3(GAMMA));\\n    }\\n    \"],[\"\\n    const float GAMMA = 2.2;\\n    const float INV_GAMMA = 0.4545454545; // 1 / GAMMA\\n\\n    // gamma correction\\n    vec4 delinearizeGamma(vec4 color) {\\n      return vec4(pow(color.rgb, vec3(INV_GAMMA)), color.w);\\n    }\\n\\n    vec3 linearizeGamma(vec3 color) {\\n      return pow(color, vec3(GAMMA));\\n    }\\n    \"]))))}Object.defineProperty(n,\"__esModule\",{value:!0}),n.Gamma=c;var 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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,r,t,n){function i(e){e.fragment.code.add(n.glsl(o||(o=t([\"\\n    vec4 highlightData(vec4 fragCoord, sampler2D depthTex, vec4 viewportPixelSize) {\\n      float sceneDepth = texture2D(depthTex, (fragCoord.xy - viewportPixelSize.xy) * viewportPixelSize.zw).r;\\n      if (fragCoord.z > sceneDepth + 5e-7) {\\n        return vec4(1.0, 1.0, 0.0, 1.0);\\n      }\\n      else {\\n        return vec4(1.0, 0.0, 1.0, 1.0);\\n      }\\n    }\\n  \"],[\"\\n    vec4 highlightData(vec4 fragCoord, sampler2D depthTex, vec4 viewportPixelSize) {\\n      float sceneDepth = texture2D(depthTex, (fragCoord.xy - viewportPixelSize.xy) * viewportPixelSize.zw).r;\\n      if (fragCoord.z > sceneDepth + 5e-7) {\\n        return vec4(1.0, 1.0, 0.0, 1.0);\\n      }\\n      else {\\n        return vec4(1.0, 0.0, 1.0, 1.0);\\n      }\\n    }\\n  \"]))))}Object.defineProperty(r,\"__esModule\",{value:!0}),r.HighlightData=i;var 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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,l,p,t){function a(e,l){e.defines.addFloat(\"STIPPLE_ALPHA_COLOR_DISCARD\",.001),e.defines.addFloat(\"STIPPLE_ALPHA_HIGHLIGHT_DISCARD\",.5),l.stippleEnabled?n(e,l):i(e)}function n(e,l){e.vertex.uniforms.add(\"stipplePatternPixelSizeInv\",\"float\"),l.stippleUVMaxEnabled&&e.varyings.add(\"stipplePatternUvMax\",\"float\"),e.varyings.add(\"stipplePatternUv\",\"float\"),e.fragment.uniforms.add(\"stipplePatternTexture\",\"sampler2D\"),l.stippleOffColorEnabled&&e.fragment.uniforms.add(\"stippleOffColor\",\"vec4\"),e.fragment.code.add(t.glsl(r||(r=p([\"\\n  float getStippleAlpha() {\\n    float stipplePatternUvClamped = stipplePatternUv * gl_FragCoord.w;\\n    \",\"\\n\\n    return texture2D(stipplePatternTexture, vec2(mod(stipplePatternUvClamped, 1.0), 0.5)).a;\\n  }\"],[\"\\n  float getStippleAlpha() {\\n    float stipplePatternUvClamped = stipplePatternUv * gl_FragCoord.w;\\n    \",\"\\n\\n    return texture2D(stipplePatternTexture, vec2(mod(stipplePatternUvClamped, 1.0), 0.5)).a;\\n  }\"])),l.stippleUVMaxEnabled?\"stipplePatternUvClamped = clamp(stipplePatternUvClamped, 0.0, stipplePatternUvMax);\":\"\")),l.stippleOffColorEnabled?e.fragment.code.add(t.glsl(d||(d=p([\"\\n    #define discardByStippleAlpha(stippleAlpha, threshold) {}\\n    #define blendStipple(color, stippleAlpha) mix(color, stippleOffColor, stippleAlpha)\\n    \"],[\"\\n    #define discardByStippleAlpha(stippleAlpha, threshold) {}\\n    #define blendStipple(color, stippleAlpha) mix(color, stippleOffColor, stippleAlpha)\\n    \"])))):e.fragment.code.add(t.glsl(o||(o=p([\"\\n    #define discardByStippleAlpha(stippleAlpha, threshold) if (stippleAlpha < threshold) { discard; }\\n    #define blendStipple(color, stippleAlpha) vec4(color.rgb, color.a * stippleAlpha)\\n    \"],[\"\\n    #define discardByStippleAlpha(stippleAlpha, threshold) if (stippleAlpha < threshold) { discard; }\\n    #define blendStipple(color, stippleAlpha) vec4(color.rgb, color.a * stippleAlpha)\\n    \"]))))}function i(e){e.fragment.code.add(t.glsl(s||(s=p([\"\\n  float getStippleAlpha() { return 1.0; }\\n\\n  #define discardByStippleAlpha(_stippleAlpha_, _threshold_) {}\\n  #define blendStipple(color, _stippleAlpha_) color\\n  \"],[\"\\n  float getStippleAlpha() { return 1.0; }\\n\\n  #define discardByStippleAlpha(_stippleAlpha_, _threshold_) {}\\n  #define blendStipple(color, _stippleAlpha_) color\\n  \"]))))}Object.defineProperty(l,\"__esModule\",{value:!0}),l.LineStipple=a;var r,d,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,n,t,r){function c(e,n){0===n.viewingMode?e.vertex.code.add(r.glsl(i||(i=t([\"\\n      vec3 getLocalUp(in vec3 pos, in vec3 origin) {\\n          return normalize(pos + origin);\\n      }\\n    \"],[\"\\n      vec3 getLocalUp(in vec3 pos, in vec3 origin) {\\n          return normalize(pos + origin);\\n      }\\n    \"])))):e.vertex.code.add(r.glsl(o||(o=t([\"\\n      vec3 getLocalUp(in vec3 pos, in vec3 origin) {\\n          return vec3(0.0, 0.0, 1.0); // WARNING: up-axis dependent code\\n      }\\n    \"],[\"\\n      vec3 getLocalUp(in vec3 pos, in vec3 origin) {\\n          return vec3(0.0, 0.0, 1.0); // WARNING: up-axis dependent code\\n      }\\n    \"])))),0===n.viewingMode?e.vertex.code.add(r.glsl(v||(v=t([\"\\n        mat3 getTBNMatrix(in vec3 n) {\\n            vec3 t = normalize(cross(vec3(0.0, 0.0, 1.0), n));\\n            vec3 b = normalize(cross(n, t));\\n            return mat3(t, b, n);\\n        }\\n    \"],[\"\\n        mat3 getTBNMatrix(in vec3 n) {\\n            vec3 t = normalize(cross(vec3(0.0, 0.0, 1.0), n));\\n            vec3 b = normalize(cross(n, t));\\n            return mat3(t, b, n);\\n        }\\n    \"])))):e.vertex.code.add(r.glsl(a||(a=t([\"\\n        mat3 getTBNMatrix(in vec3 n) {\\n            vec3 t = vec3(1.0, 0.0, 0.0);\\n            vec3 b = normalize(cross(n, t));\\n            return mat3(t, b, n);\\n        }\\n    \"],[\"\\n        mat3 getTBNMatrix(in vec3 n) {\\n            vec3 t = vec3(1.0, 0.0, 0.0);\\n            vec3 b = normalize(cross(n, t));\\n            return mat3(t, b, n);\\n        }\\n    \"]))))}Object.defineProperty(n,\"__esModule\",{value:!0}),n.NormalUtils=c;var i,o,v,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(a,r,e,n){function m(a,r){var m=a.fragment;m.code.add(n.glsl(o||(o=e([\"\\n    struct ShadingNormalParameters {\\n      vec3 normalView;\\n      vec3 viewDirection;\\n    } shadingParams;\\n    \"],[\"\\n    struct ShadingNormalParameters {\\n      vec3 normalView;\\n      vec3 viewDirection;\\n    } shadingParams;\\n    \"])))),1===r.doubleSidedMode?m.code.add(n.glsl(i||(i=e([\"\\n      vec3 shadingNormal(ShadingNormalParameters params) {\\n        return dot(params.normalView, params.viewDirection) > 0.0 ? normalize(-params.normalView) : normalize(params.normalView);\\n      }\\n    \"],[\"\\n      vec3 shadingNormal(ShadingNormalParameters params) {\\n        return dot(params.normalView, params.viewDirection) > 0.0 ? normalize(-params.normalView) : normalize(params.normalView);\\n      }\\n    \"])))):2===r.doubleSidedMode?m.code.add(n.glsl(l||(l=e([\"\\n      vec3 shadingNormal(ShadingNormalParameters params) {\\n        return gl_FrontFacing ? normalize(params.normalView) : normalize(-params.normalView);\\n      }\\n    \"],[\"\\n      vec3 shadingNormal(ShadingNormalParameters params) {\\n        return gl_FrontFacing ? normalize(params.normalView) : normalize(-params.normalView);\\n      }\\n    \"])))):m.code.add(n.glsl(s||(s=e([\"\\n      vec3 shadingNormal(ShadingNormalParameters params) {\\n        return normalize(params.normalView);\\n      }\\n    \"],[\"\\n      vec3 shadingNormal(ShadingNormalParameters params) {\\n        return normalize(params.normalView);\\n      }\\n    \"]))))}Object.defineProperty(r,\"__esModule\",{value:!0}),r.Normals=m;var o,i,l,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/makeTemplateObjectHelper\",\"./AnalyticalSkyModel.glsl\",\"./PiUtils.glsl\",\"../../shaderModules/interfaces\"],function(e,n,o,t,a,l){function r(e,n){var r=e.fragment.code;e.include(a.PiUtils),n.usePBRforWater?(r.add(l.glsl(i||(i=o([\"\\n    struct PBRShadingWater\\n    {\\n        float NdotL;   // cos angle between normal and light direction\\n        float NdotV;   // cos angle between normal and view direction\\n        float NdotH;   // cos angle between normal and half vector\\n        float VdotH;   // cos angle between view direction and half vector\\n        float LdotH;   // cos angle between light direction and half vector\\n        float VdotN;   // cos angle between view direction and normal vector\\n    };\\n\\n    float dtrExponent = \",\";\\n    \"],[\"\\n    struct PBRShadingWater\\n    {\\n        float NdotL;   // cos angle between normal and light direction\\n        float NdotV;   // cos angle between normal and view direction\\n        float NdotH;   // cos angle between normal and half vector\\n        float VdotH;   // cos angle between view direction and half vector\\n        float LdotH;   // cos angle between light direction and half vector\\n        float VdotN;   // cos angle between view direction and normal vector\\n    };\\n\\n    float dtrExponent = \",\";\\n    \"])),n.useCustomDTRExponentForWater?\"2.2\":\"2.0\")),r.add(l.glsl(c||(c=o([\"\\n    vec3 fresnelReflection(float angle, vec3 f0, float f90) {\\n      return f0 + (f90 - f0) * pow(1.0 - angle, 5.0);\\n    }\\n    \"],[\"\\n    vec3 fresnelReflection(float angle, vec3 f0, float f90) {\\n      return f0 + (f90 - f0) * pow(1.0 - angle, 5.0);\\n    }\\n    \"])))),r.add(l.glsl(d||(d=o([\"\\n    float normalDistributionWater(float NdotH, float roughness)\\n    {\\n      float r2 = roughness * roughness;\\n      float NdotH2 = NdotH * NdotH;\\n      float denom = pow((NdotH2 * (r2 - 1.0) + 1.0), dtrExponent) * PI;\\n      return r2 / denom;\\n    }\\n    \"],[\"\\n    float normalDistributionWater(float NdotH, float roughness)\\n    {\\n      float r2 = roughness * roughness;\\n      float NdotH2 = NdotH * NdotH;\\n      float denom = pow((NdotH2 * (r2 - 1.0) + 1.0), dtrExponent) * PI;\\n      return r2 / denom;\\n    }\\n    \"])))),r.add(l.glsl(s||(s=o([\"\\n    float geometricOcclusionKelemen(float LoH)\\n    {\\n        return 0.25 / (LoH * LoH);\\n    }\\n    \"],[\"\\n    float geometricOcclusionKelemen(float LoH)\\n    {\\n        return 0.25 / (LoH * LoH);\\n    }\\n    \"])))),r.add(l.glsl(f||(f=o([\"\\n    vec3 brdfWater(in PBRShadingWater props, float roughness, vec3 F0, float F0Max)\\n    {\\n      vec3  F = fresnelReflection(props.VdotH, F0, F0Max);\\n      float D = normalDistributionWater(props.NdotH, roughness);\\n      float V = geometricOcclusionKelemen(props.LdotH);\\n      return (D * V) * F;\\n    }\\n\\n    vec3 tonemapACES(const vec3 x) {\\n      return (x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14);\\n    }\\n    \"],[\"\\n    vec3 brdfWater(in PBRShadingWater props, float roughness, vec3 F0, float F0Max)\\n    {\\n      vec3  F = fresnelReflection(props.VdotH, F0, F0Max);\\n      float D = normalDistributionWater(props.NdotH, roughness);\\n      float V = geometricOcclusionKelemen(props.LdotH);\\n      return (D * V) * F;\\n    }\\n\\n    vec3 tonemapACES(const vec3 x) {\\n      return (x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14);\\n    }\\n    \"]))))):n.usePBR&&(e.include(t.AnalyticalSkyModel),r.add(l.glsl(u||(u=o([\"\\n    struct PBRShadingInfo\\n    {\\n        float NdotL;                  // cos angle between normal and light direction\\n        float NdotV;                  // cos angle between normal and view direction\\n        float NdotH;                  // cos angle between normal and half vector\\n        float VdotH;                  // cos angle between view direction and half vector\\n        float LdotH;                  // cos angle between view light direction and half vector\\n        float NdotNG;                 // cos angle between normal and normal of the ground\\n        float RdotNG;                 // cos angle between view direction reflected of the normal and normal of the ground\\n        float NdotAmbDir;             // cos angle between view direction and the fill light in ambient illumination\\n        float NdotH_Horizon;          // cos angle between normal and half vector defined with horizon illumination\\n        vec3 skyRadianceToSurface;         // integrated radiance of the sky based on the surface roughness (used for specular reflection)\\n        vec3 groundRadianceToSurface;      // integrated radiance of the ground based on the surface roughness (used for specular reflection)\\n        vec3 skyIrradianceToSurface;       // irradiance of the sky (used for diffuse reflection)\\n        vec3 groundIrradianceToSurface;    // irradiance of the ground (used for diffuse reflection)\\n\\n        float averageAmbientRadiance;      // average ambient radiance used to deduce black level in gamut mapping\\n        float ssao;                   // ssao coefficient\\n        vec3 groundReflectance;       // reflectance of the ground\\n        vec3 albedoLinear;            // linear color of the albedo\\n        vec3 f0;                      // fresnel value at normal incident light\\n        vec3 f90;                     // fresnel value at 90o of incident light\\n\\n        vec3 diffuseColor;            // diffuse color of the material used in environment illumination\\n        float metalness;              // metalness of the material\\n        float roughness;              // roughness of the material\\n    };\\n    \"],[\"\\n    struct PBRShadingInfo\\n    {\\n        float NdotL;                  // cos angle between normal and light direction\\n        float NdotV;                  // cos angle between normal and view direction\\n        float NdotH;                  // cos angle between normal and half vector\\n        float VdotH;                  // cos angle between view direction and half vector\\n        float LdotH;                  // cos angle between view light direction and half vector\\n        float NdotNG;                 // cos angle between normal and normal of the ground\\n        float RdotNG;                 // cos angle between view direction reflected of the normal and normal of the ground\\n        float NdotAmbDir;             // cos angle between view direction and the fill light in ambient illumination\\n        float NdotH_Horizon;          // cos angle between normal and half vector defined with horizon illumination\\n        vec3 skyRadianceToSurface;         // integrated radiance of the sky based on the surface roughness (used for specular reflection)\\n        vec3 groundRadianceToSurface;      // integrated radiance of the ground based on the surface roughness (used for specular reflection)\\n        vec3 skyIrradianceToSurface;       // irradiance of the sky (used for diffuse reflection)\\n        vec3 groundIrradianceToSurface;    // irradiance of the ground (used for diffuse reflection)\\n\\n        float averageAmbientRadiance;      // average ambient radiance used to deduce black level in gamut mapping\\n        float ssao;                   // ssao coefficient\\n        vec3 groundReflectance;       // reflectance of the ground\\n        vec3 albedoLinear;            // linear color of the albedo\\n        vec3 f0;                      // fresnel value at normal incident light\\n        vec3 f90;                     // fresnel value at 90o of incident light\\n\\n        vec3 diffuseColor;            // diffuse color of the material used in environment illumination\\n        float metalness;              // metalness of the material\\n        float roughness;              // roughness of the material\\n    };\\n    \"])))),r.add(l.glsl(g||(g=o([\"\\n    const float fillLightIntensity = 0.25;              // intensity of the directional ambient component\\n    const float horizonLightDiffusion = 0.4;            // diffusion value describing the area and smoothness of the horizon light\\n    const vec3  skyTransmittance = vec3(0.9, 0.9, 1.0);  // bluish transmittance of the sky\\n    const float additionalAmbientIrradianceFactor = 0.02;// Additional irradiance factor - making everything brighter and more colorful\\n    \"],[\"\\n    const float fillLightIntensity = 0.25;              // intensity of the directional ambient component\\n    const float horizonLightDiffusion = 0.4;            // diffusion value describing the area and smoothness of the horizon light\\n    const vec3  skyTransmittance = vec3(0.9, 0.9, 1.0);  // bluish transmittance of the sky\\n    const float additionalAmbientIrradianceFactor = 0.02;// Additional irradiance factor - making everything brighter and more colorful\\n    \"])))),r.add(l.glsl(h||(h=o([\"\\n    float normalDistribution(float NdotH, float roughness)\\n    {\\n        float a = NdotH * roughness;\\n        float b = roughness / (1.0 - NdotH * NdotH + a * a);\\n        return b * b * INV_PI;\\n    }\\n    \"],[\"\\n    float normalDistribution(float NdotH, float roughness)\\n    {\\n        float a = NdotH * roughness;\\n        float b = roughness / (1.0 - NdotH * NdotH + a * a);\\n        return b * b * INV_PI;\\n    }\\n    \"])))),r.add(l.glsl(m||(m=o([\"\\n    const vec4 c0 = vec4(-1.0, -0.0275, -0.572,  0.022);\\n    const vec4 c1 = vec4( 1.0,  0.0425,  1.040, -0.040);\\n    const vec2 c2 = vec2(-1.04, 1.04);\\n\\n    vec2 prefilteredDFGAnalytical(float roughness, float NdotV) {\\n        vec4 r = roughness * c0 + c1;\\n        float a004 = min(r.x * r.x, exp2(-9.28 * NdotV)) * r.x + r.y;\\n        return c2 * a004 + r.zw;\\n    }\\n    \"],[\"\\n    const vec4 c0 = vec4(-1.0, -0.0275, -0.572,  0.022);\\n    const vec4 c1 = vec4( 1.0,  0.0425,  1.040, -0.040);\\n    const vec2 c2 = vec2(-1.04, 1.04);\\n\\n    vec2 prefilteredDFGAnalytical(float roughness, float NdotV) {\\n        vec4 r = roughness * c0 + c1;\\n        float a004 = min(r.x * r.x, exp2(-9.28 * NdotV)) * r.x + r.y;\\n        return c2 * a004 + r.zw;\\n    }\\n    \"])))),r.add(l.glsl(p||(p=o([\"\\n    vec3 evaluateEnvironmentIllumination(PBRShadingInfo inputs) {\\n      vec3 indirectDiffuse = evaluateDiffuseIlluminationHemisphere(inputs.groundIrradianceToSurface, inputs.skyIrradianceToSurface, inputs.NdotNG);\\n      vec3 indirectSpecular = evaluateSpecularIlluminationHemisphere(inputs.groundRadianceToSurface, inputs.skyRadianceToSurface, inputs.RdotNG, inputs.roughness);\\n\\n      // From diffuse illumination calculate reflected color\\n      vec3 diffuseComponent = inputs.diffuseColor * indirectDiffuse * INV_PI;\\n\\n      // From specular illumination calculate reflected color\\n      vec2 dfg = prefilteredDFGAnalytical(inputs.roughness, inputs.NdotV);\\n      vec3 specularColor = inputs.f0 * dfg.x + inputs.f90 * dfg.y;\\n      vec3 specularComponent = specularColor * indirectSpecular;\\n\\n      return (diffuseComponent + specularComponent);\\n    }\\n    \"],[\"\\n    vec3 evaluateEnvironmentIllumination(PBRShadingInfo inputs) {\\n      vec3 indirectDiffuse = evaluateDiffuseIlluminationHemisphere(inputs.groundIrradianceToSurface, inputs.skyIrradianceToSurface, inputs.NdotNG);\\n      vec3 indirectSpecular = evaluateSpecularIlluminationHemisphere(inputs.groundRadianceToSurface, inputs.skyRadianceToSurface, inputs.RdotNG, inputs.roughness);\\n\\n      // From diffuse illumination calculate reflected color\\n      vec3 diffuseComponent = inputs.diffuseColor * indirectDiffuse * INV_PI;\\n\\n      // From specular illumination calculate reflected color\\n      vec2 dfg = prefilteredDFGAnalytical(inputs.roughness, inputs.NdotV);\\n      vec3 specularColor = inputs.f0 * dfg.x + inputs.f90 * dfg.y;\\n      vec3 specularComponent = specularColor * indirectSpecular;\\n\\n      return (diffuseComponent + specularComponent);\\n    }\\n    \"])))),r.add(l.glsl(v||(v=o([\"\\n    float gamutMapChanel(float x, vec2 p){\\n      return (x < p.x) ? mix(0.0, p.y, x/p.x) : mix(p.y, 1.0, (x - p.x) / (1.0 - p.x) );\\n    }\\n\\n    // Because of the fresnel refletion the image might be too bright we apply black level soft compression gamut mapping\\n    vec3 blackLevelSoftCompression(vec3 inColor, PBRShadingInfo inputs){\\n      vec3 outColor;\\n      // based on the average ambient radiance we approximate the black level for a specific time of a day\\n      // p.x - the deduced black level\\n      // p.y - the value to which we map the black level (around 1/3 of the black level)\\n      vec2 p = vec2(0.02 * (inputs.averageAmbientRadiance), 0.0075 * (inputs.averageAmbientRadiance));\\n      // gamut map individual color changels\\n      outColor.x = gamutMapChanel(inColor.x, p) ;\\n      outColor.y = gamutMapChanel(inColor.y, p) ;\\n      outColor.z = gamutMapChanel(inColor.z, p) ;\\n\\n      return outColor;\\n    }\\n    \"],[\"\\n    float gamutMapChanel(float x, vec2 p){\\n      return (x < p.x) ? mix(0.0, p.y, x/p.x) : mix(p.y, 1.0, (x - p.x) / (1.0 - p.x) );\\n    }\\n\\n    // Because of the fresnel refletion the image might be too bright we apply black level soft compression gamut mapping\\n    vec3 blackLevelSoftCompression(vec3 inColor, PBRShadingInfo inputs){\\n      vec3 outColor;\\n      // based on the average ambient radiance we approximate the black level for a specific time of a day\\n      // p.x - the deduced black level\\n      // p.y - the value to which we map the black level (around 1/3 of the black level)\\n      vec2 p = vec2(0.02 * (inputs.averageAmbientRadiance), 0.0075 * (inputs.averageAmbientRadiance));\\n      // gamut map individual color changels\\n      outColor.x = gamutMapChanel(inColor.x, p) ;\\n      outColor.y = gamutMapChanel(inColor.y, p) ;\\n      outColor.z = gamutMapChanel(inColor.z, p) ;\\n\\n      return outColor;\\n    }\\n    \"])))))}Object.defineProperty(n,\"__esModule\",{value:!0}),n.PhysicallyBasedRendering=r;var i,c,d,s,f,u,g,h,m,p,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/makeTemplateObjectHelper\",\"../attributes/VertexTextureCoordinates.glsl\",\"../../shaderModules/interfaces\"],function(e,s,n,o,t){function a(e,s){var a=e.fragment,p=s.hasMetalnessAndRoughnessTexture||s.hasEmissionTexture||s.hasOcclusionTexture;s.usePBR&&p&&e.include(o.VertexTextureCoordinates,s),s.usePBR&&(a.uniforms.add(\"roughnessFactor\",\"float\"),a.uniforms.add(\"metalnessFactor\",\"float\"),a.uniforms.add(\"emissionFactor\",\"vec3\"),a.uniforms.add(\"reflectanceFactor\",\"float\"),a.code.add(t.glsl(r||(r=n([\"\\n    float reflectance;\\n    float roughness;\\n    float metalness;\\n    vec3 emission;\\n    float occlusion;\\n    \"],[\"\\n    float reflectance;\\n    float roughness;\\n    float metalness;\\n    vec3 emission;\\n    float occlusion;\\n    \"])))),s.hasMetalnessAndRoughnessTexture&&(a.uniforms.add(\"texMetallicRoughness\",\"sampler2D\"),s.supportsTextureAtlas&&a.uniforms.add(\"texMetallicRoughnessSize\",\"vec2\"),a.code.add(t.glsl(l||(l=n([\"\\n    void applyMetallnessAndRoughness(TextureLookupParameter params) {\\n      vec3 metallicRoughness = textureLookup(texMetallicRoughness, params).rgb;\\n\\n      roughness *= metallicRoughness.g;\\n      metalness *= metallicRoughness.b;\\n    }\\n    \"],[\"\\n    void applyMetallnessAndRoughness(TextureLookupParameter params) {\\n      vec3 metallicRoughness = textureLookup(texMetallicRoughness, params).rgb;\\n\\n      roughness *= metallicRoughness.g;\\n      metalness *= metallicRoughness.b;\\n    }\\n    \"]))))),s.hasEmissionTexture&&(a.uniforms.add(\"texEmission\",\"sampler2D\"),s.supportsTextureAtlas&&a.uniforms.add(\"texEmissionSize\",\"vec2\"),a.code.add(t.glsl(c||(c=n([\"\\n    void applyEmission(TextureLookupParameter params) {\\n      emission *= textureLookup(texEmission, params).rgb;\\n    }\\n    \"],[\"\\n    void applyEmission(TextureLookupParameter params) {\\n      emission *= textureLookup(texEmission, params).rgb;\\n    }\\n    \"])))))),s.usePBR&&s.hasOcclusionTexture?(a.uniforms.add(\"texOcclusion\",\"sampler2D\"),s.supportsTextureAtlas&&a.uniforms.add(\"texOcclusionSize\",\"vec2\"),a.code.add(t.glsl(i||(i=n([\"\\n    void applyOcclusion(TextureLookupParameter params) {\\n      occlusion *= textureLookup(texOcclusion, params).r;\\n    }\\n\\n    float getBakedOcclusion() {\\n      return occlusion;\\n    }\\n    \"],[\"\\n    void applyOcclusion(TextureLookupParameter params) {\\n      occlusion *= textureLookup(texOcclusion, params).r;\\n    }\\n\\n    float getBakedOcclusion() {\\n      return occlusion;\\n    }\\n    \"]))))):a.code.add(t.glsl(u||(u=n([\"\\n    float getBakedOcclusion() { return 1.0; }\\n    \"],[\"\\n    float getBakedOcclusion() { return 1.0; }\\n    \"])))),s.usePBR&&a.code.add(t.glsl(m||(m=n([\"\\n    void applyPBRFactors() {\\n      reflectance = reflectanceFactor;\\n      roughness = roughnessFactor;\\n      metalness = metalnessFactor;\\n      emission = emissionFactor;\\n      occlusion = 1.0;\\n      \",\"\\n      \",\"\\n      \",\"\\n      \",\"\\n    }\\n  \"],[\"\\n    void applyPBRFactors() {\\n      reflectance = reflectanceFactor;\\n      roughness = roughnessFactor;\\n      metalness = metalnessFactor;\\n      emission = emissionFactor;\\n      occlusion = 1.0;\\n      \",\"\\n      \",\"\\n      \",\"\\n      \",\"\\n    }\\n  \"])),p?\"vtc.uv = vuv0;\":\"\",s.hasMetalnessAndRoughnessTexture?s.supportsTextureAtlas?\"vtc.size = texMetallicRoughnessSize; applyMetallnessAndRoughness(vtc);\":\"applyMetallnessAndRoughness(vtc);\":\"\",s.hasEmissionTexture?s.supportsTextureAtlas?\"vtc.size = texEmissionSize; applyEmission(vtc);\":\"applyEmission(vtc);\":\"\",s.hasOcclusionTexture?s.supportsTextureAtlas?\"vtc.size = texOcclusionSize; applyOcclusion(vtc);\":\"applyOcclusion(vtc);\":\"\"))}Object.defineProperty(s,\"__esModule\",{value:!0}),s.PhysicallyBasedRenderingParameters=a,function(e){function s(e,s){e.setUniform1f(\"metalnessFactor\",s.metallicFactor),e.setUniform1f(\"roughnessFactor\",s.roughnessFactor),e.setUniform3fv(\"emissionFactor\",s.emissiveFactor),e.setUniform1f(\"reflectanceFactor\",s.reflectanceFactor)}e.bindUniforms=s}(a=s.PhysicallyBasedRenderingParameters||(s.PhysicallyBasedRenderingParameters={}));var r,l,c,i,u,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(t,n,o,e){function l(t){t.vertex.code.add(e.glsl(a||(a=o([\"\\n    const float PI = 3.141592653589793;\\n  \"],[\"\\n    const float PI = 3.141592653589793;\\n  \"])))),t.fragment.code.add(e.glsl(s||(s=o([\"\\n    const float PI = 3.141592653589793;\\n    const float LIGHT_NORMALIZATION = 1.0 / PI;\\n    const float INV_PI = 0.3183098861837907;\\n    const float HALF_PI = 1.570796326794897;\\n    \"],[\"\\n    const float PI = 3.141592653589793;\\n    const float LIGHT_NORMALIZATION = 1.0 / PI;\\n    const float INV_PI = 0.3183098861837907;\\n    const float HALF_PI = 1.570796326794897;\\n    \"]))))}Object.defineProperty(n,\"__esModule\",{value:!0}),n.PiUtils=l;var a,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/makeTemplateObjectHelper\",\"../util/RgbaFloatEncoding.glsl\",\"../../shaderModules/interfaces\"],function(e,a,t,l,i){function n(e){e.include(l.RgbaFloatEncoding),e.fragment.uniforms.add(\"depthTex\",\"sampler2D\"),e.fragment.uniforms.add(\"shadowMapNum\",\"int\"),e.fragment.uniforms.add(\"shadowMapDistance\",\"vec4\"),e.fragment.uniforms.add(\"shadowMapMatrix\",\"mat4\",4),e.fragment.uniforms.add(\"depthHalfPixelSz\",\"float\"),e.fragment.code.add(i.glsl(o||(o=t([\"\\n    float readShadowMap(const in vec3 _vpos, float _linearDepth) {\\n      float halfPixelSize = depthHalfPixelSz;\\n      vec4 distance = shadowMapDistance;\\n      float depth = _linearDepth;\\n\\n      //choose correct cascade\\n      int i = depth < distance[1] ? 0 : depth < distance[2] ? 1 : depth < distance[3] ? 2 : 3;\\n\\n      if (i >= shadowMapNum) { return 0.0; }\\n\\n      mat4 mat = i == 0 ? shadowMapMatrix[0] : i == 1 ? shadowMapMatrix[1] : i == 2 ? shadowMapMatrix[2] : shadowMapMatrix[3];\\n\\n      vec4 lv = mat * vec4(_vpos, 1.0);\\n      lv.xy /= lv.w;\\n\\n      // vertex completely outside? -> no shadow\\n      vec3 lvpos = 0.5 * lv.xyz + vec3(0.5);\\n      if (lvpos.z >= 1.0) { return 0.0; }\\n      if (lvpos.x < 0.0 || lvpos.x > 1.0 || lvpos.y < 0.0 || lvpos.y > 1.0) { return 0.0; }\\n\\n      // calc coord in cascade texture\\n      vec2 uv = vec2(float(i - 2 * (i / 2)) * 0.5, float(i / 2) * 0.5) + 0.5 * lvpos.xy;\\n\\n      float texSize = 0.5 / halfPixelSize;\\n\\n      // filter, offset by half pixels\\n      vec2 st = fract((vec2(halfPixelSize) + uv) * texSize);\\n\\n      float s00 = rgba2float(texture2D(depthTex, uv + vec2(-halfPixelSize, -halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\\n      float s10 = rgba2float(texture2D(depthTex, uv + vec2(halfPixelSize, -halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\\n      float s11 = rgba2float(texture2D(depthTex, uv + vec2(halfPixelSize, halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\\n      float s01 = rgba2float(texture2D(depthTex, uv + vec2(-halfPixelSize, halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\\n\\n      return mix(mix(s00, s10, st.x), mix(s01, s11, st.x), st.y);\\n    }\\n  \"],[\"\\n    float readShadowMap(const in vec3 _vpos, float _linearDepth) {\\n      float halfPixelSize = depthHalfPixelSz;\\n      vec4 distance = shadowMapDistance;\\n      float depth = _linearDepth;\\n\\n      //choose correct cascade\\n      int i = depth < distance[1] ? 0 : depth < distance[2] ? 1 : depth < distance[3] ? 2 : 3;\\n\\n      if (i >= shadowMapNum) { return 0.0; }\\n\\n      mat4 mat = i == 0 ? shadowMapMatrix[0] : i == 1 ? shadowMapMatrix[1] : i == 2 ? shadowMapMatrix[2] : shadowMapMatrix[3];\\n\\n      vec4 lv = mat * vec4(_vpos, 1.0);\\n      lv.xy /= lv.w;\\n\\n      // vertex completely outside? -> no shadow\\n      vec3 lvpos = 0.5 * lv.xyz + vec3(0.5);\\n      if (lvpos.z >= 1.0) { return 0.0; }\\n      if (lvpos.x < 0.0 || lvpos.x > 1.0 || lvpos.y < 0.0 || lvpos.y > 1.0) { return 0.0; }\\n\\n      // calc coord in cascade texture\\n      vec2 uv = vec2(float(i - 2 * (i / 2)) * 0.5, float(i / 2) * 0.5) + 0.5 * lvpos.xy;\\n\\n      float texSize = 0.5 / halfPixelSize;\\n\\n      // filter, offset by half pixels\\n      vec2 st = fract((vec2(halfPixelSize) + uv) * texSize);\\n\\n      float s00 = rgba2float(texture2D(depthTex, uv + vec2(-halfPixelSize, -halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\\n      float s10 = rgba2float(texture2D(depthTex, uv + vec2(halfPixelSize, -halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\\n      float s11 = rgba2float(texture2D(depthTex, uv + vec2(halfPixelSize, halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\\n      float s01 = rgba2float(texture2D(depthTex, uv + vec2(-halfPixelSize, halfPixelSize))) < lvpos.z ? 1.0 : 0.0;\\n\\n      return mix(mix(s00, s10, st.x), mix(s01, s11, st.x), st.y);\\n    }\\n  \"]))))}Object.defineProperty(a,\"__esModule\",{value:!0}),a.ReadShadowMap=n,function(e){function a(e,a){a.shadowMappingEnabled&&a.shadowMap.bindView(e,a.origin)}e.bindUniforms=a}(n=a.ReadShadowMap||(a.ReadShadowMap={}));var 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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,v,o,n){function r(e,v){(v.vvSize||v.vvColor)&&e.attributes.add(\"instanceFeatureAttribute\",\"vec4\"),v.vvSize?(e.vertex.uniforms.add(\"vvSizeMinSize\",\"vec3\"),e.vertex.uniforms.add(\"vvSizeMaxSize\",\"vec3\"),e.vertex.uniforms.add(\"vvSizeOffset\",\"vec3\"),e.vertex.uniforms.add(\"vvSizeFactor\",\"vec3\"),e.vertex.uniforms.add(\"vvSymbolRotationMatrix\",\"mat3\"),e.vertex.uniforms.add(\"vvSymbolAnchor\",\"vec3\"),e.vertex.code.add(n.glsl(t||(t=o([\"\\n      vec4 vvTransformPosition(vec3 position, vec4 _featureAttribute) {\\n        vec3 vvScale = clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize);\\n        return vec4(vvSymbolRotationMatrix * (vvScale * (position + vvSymbolAnchor)), 1.0);\\n      }\\n    \"],[\"\\n      vec4 vvTransformPosition(vec3 position, vec4 _featureAttribute) {\\n        vec3 vvScale = clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize);\\n        return vec4(vvSymbolRotationMatrix * (vvScale * (position + vvSymbolAnchor)), 1.0);\\n      }\\n    \"])))),e.vertex.code.add(n.glsl(i||(i=o([\"\\n      const float eps = 1.192092896e-07;\\n      vec4 vvTransformNormal(vec3 _normal, vec4 _featureAttribute) {\\n        vec3 vvScale = clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize + eps, vvSizeMaxSize);\\n        return vec4(vvSymbolRotationMatrix * _normal / vvScale, 1.0);\\n      }\\n\\n      vec4 vvLocalNormal(vec3 _normal) {\\n        return vvTransformNormal(_normal, instanceFeatureAttribute);\\n      }\\n\\n      vec4 localPosition() {\\n        return vvTransformPosition(position, instanceFeatureAttribute);\\n      }\\n    \"],[\"\\n      const float eps = 1.192092896e-07;\\n      vec4 vvTransformNormal(vec3 _normal, vec4 _featureAttribute) {\\n        vec3 vvScale = clamp(vvSizeOffset + _featureAttribute.x * vvSizeFactor, vvSizeMinSize + eps, vvSizeMaxSize);\\n        return vec4(vvSymbolRotationMatrix * _normal / vvScale, 1.0);\\n      }\\n\\n      vec4 vvLocalNormal(vec3 _normal) {\\n        return vvTransformNormal(_normal, instanceFeatureAttribute);\\n      }\\n\\n      vec4 localPosition() {\\n        return vvTransformPosition(position, instanceFeatureAttribute);\\n      }\\n    \"]))))):e.vertex.code.add(n.glsl(a||(a=o([\"\\n      vec4 localPosition() { return vec4(position, 1.0); }\\n\\n      vec4 vvLocalNormal(vec3 _normal) { return vec4(_normal, 1.0); }\\n    \"],[\"\\n      vec4 localPosition() { return vec4(position, 1.0); }\\n\\n      vec4 vvLocalNormal(vec3 _normal) { return vec4(_normal, 1.0); }\\n    \"])))),v.vvColor?(e.vertex.defines.addInt(\"VV_COLOR_N\",8),e.vertex.code.add(n.glsl(l||(l=o([\"\\n      uniform float vvColorValues[VV_COLOR_N];\\n      uniform vec4 vvColorColors[VV_COLOR_N];\\n\\n      vec4 vvGetColor(vec4 featureAttribute, float values[VV_COLOR_N], vec4 colors[VV_COLOR_N]) {\\n        float value = featureAttribute.y;\\n        if (value <= values[0]) {\\n          return colors[0];\\n        }\\n\\n        for (int i = 1; i < VV_COLOR_N; ++i) {\\n          if (values[i] >= value) {\\n            float f = (value - values[i-1]) / (values[i] - values[i-1]);\\n            return mix(colors[i-1], colors[i], f);\\n          }\\n        }\\n        return colors[VV_COLOR_N - 1];\\n      }\\n\\n      vec4 vvColor() {\\n        return vvGetColor(instanceFeatureAttribute, vvColorValues, vvColorColors);\\n      }\\n    \"],[\"\\n      uniform float vvColorValues[VV_COLOR_N];\\n      uniform vec4 vvColorColors[VV_COLOR_N];\\n\\n      vec4 vvGetColor(vec4 featureAttribute, float values[VV_COLOR_N], vec4 colors[VV_COLOR_N]) {\\n        float value = featureAttribute.y;\\n        if (value <= values[0]) {\\n          return colors[0];\\n        }\\n\\n        for (int i = 1; i < VV_COLOR_N; ++i) {\\n          if (values[i] >= value) {\\n            float f = (value - values[i-1]) / (values[i] - values[i-1]);\\n            return mix(colors[i-1], colors[i], f);\\n          }\\n        }\\n        return colors[VV_COLOR_N - 1];\\n      }\\n\\n      vec4 vvColor() {\\n        return vvGetColor(instanceFeatureAttribute, vvColorValues, vvColorColors);\\n      }\\n    \"]))))):e.vertex.code.add(n.glsl(c||(c=o([\"\\n      vec4 vvColor() { return vec4(1.0); }\\n    \"],[\"\\n      vec4 vvColor() { return vec4(1.0); }\\n    \"]))))}Object.defineProperty(v,\"__esModule\",{value:!0}),v.VisualVariables=r,function(e){function v(e,v){v.vvSizeEnabled&&(e.setUniform3fv(\"vvSizeMinSize\",v.vvSizeMinSize),e.setUniform3fv(\"vvSizeMaxSize\",v.vvSizeMaxSize),e.setUniform3fv(\"vvSizeOffset\",v.vvSizeOffset),e.setUniform3fv(\"vvSizeFactor\",v.vvSizeFactor)),v.vvColorEnabled&&(e.setUniform1fv(\"vvColorValues\",v.vvColorValues),e.setUniform4fv(\"vvColorColors\",v.vvColorColors))}function o(e,o){v(e,o),o.vvOpacityEnabled&&(e.setUniform1fv(\"vvOpacityValues\",o.vvOpacityValues),e.setUniform1fv(\"vvOpacityOpacities\",o.vvOpacityOpacities))}function n(e,o){v(e,o),o.vvSizeEnabled&&(e.setUniform3fv(\"vvSymbolAnchor\",o.vvSymbolAnchor),e.setUniformMatrix3fv(\"vvSymbolRotationMatrix\",o.vvSymbolRotationMatrix))}e.bindUniformsWithOpacity=o,e.bindUniformsForSymbols=n}(r=v.VisualVariables||(v.VisualVariables={}));var t,i,a,l,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/makeTemplateObjectHelper\",\"./Gamma.glsl\",\"./PhysicallyBasedRendering.glsl\",\"../../shaderModules/interfaces\"],function(e,n,o,t,r,a){function i(e,n){e.include(r.PhysicallyBasedRendering,n),e.include(t.Gamma),e.fragment.code.add(a.glsl(s||(s=o([\"\\n    const vec3 fresnelSky =  vec3(0.02, 1.0, 5.0); // f0, f0max, exp\\n    const vec2 fresnelMaterial =  vec2(0.02, 0.1); // f0, f0max for specular term\\n    const float roughness = 0.06;\\n\\n    const vec3 skyZenitColor = vec3(0, 0.6, 0.9);\\n    const vec3 skyColor = vec3(0.72, 0.92, 1.0);\\n\\n    PBRShadingWater shadingInfo;\\n\\n    /*\\n    *   This function is an approximation for the sky gradient reflected\\n    *   the water surface and describes a combination of two fresnel terms.\\n    *   @parameter: cosTheta = is the result of max(dot(n,v), 0.0)\\n    *   @parameter: horizon = the dominant color of the sky horizon\\n    *   @parameter: cosTheta = the dominant color of the sky zenit\\n    */\\n    vec3 getSkyGradientColor(in float cosTheta, in vec3 horizon, in vec3 zenit) {\\n      float exponent = pow((1.0 - cosTheta), fresnelSky[2]);\\n      return mix(zenit, horizon, exponent);\\n    }\\n\\n    /*\\n    *   This function determines the water color per pixel.\\n    *   @parameter: n = normal facing away from the surface\\n    *   @parameter: v = view direction facing away from the surface.\\n    *   @parameter: l = light direction facing away from the surface\\n    *   @parameter: lightIntensity = light intensity, currently between 0...PI\\n    *   @parameter: localUp = a normal for the general direction of the surface\\n    *   @parameter: shadow = the amount of shadow at this pixel (0 = no shadow)\\n    */\\n    vec3 getSeaColor(in vec3 n, in vec3 v, in vec3 l, vec3 color, in vec3 lightIntensity, in vec3 localUp, in float shadow) {\\n\\n      vec3 seaWaterColor = linearizeGamma(color);\\n      // using half vector to determine the specular light\\n      vec3 h = normalize(l + v);\\n      shadingInfo.NdotL = clamp(dot(n, l), 0.0, 1.0);\\n      shadingInfo.NdotV = clamp(dot(n, v), 0.001, 1.0);\\n      shadingInfo.VdotN = clamp(dot(v, n), 0.001, 1.0);\\n      shadingInfo.NdotH = clamp(dot(n, h), 0.0, 1.0);\\n      shadingInfo.VdotH = clamp(dot(v, h), 0.0, 1.0);\\n      shadingInfo.LdotH = clamp(dot(l, h), 0.0, 1.0);\\n\\n      // angle between vertex normal and view direction\\n      float upDotV = max(dot(localUp,v), 0.0);\\n      // reflected sky color: the reflected sky color consists of two main colors, the\\n      // reflected color at the horizon and the reflected color of the zenit.\\n      // the reflected sky color is then an approximation based on the fresnel term.\\n      vec3 skyHorizon = linearizeGamma(skyColor);\\n      vec3 skyZenit = linearizeGamma(skyZenitColor);\\n      vec3 skyColor = getSkyGradientColor(upDotV, skyHorizon, skyZenit );\\n\\n      // we use the upDotL to smoothen out the\\n      // reflected color of the water\\n      float upDotL = max(dot(localUp,l),0.0);\\n\\n      // The approximated sky color is adjusted according to the sun position.\\n      // This is done as approximation for e.g. night views.\\n      skyColor *= 0.1 + upDotL * 0.9;\\n\\n      // If a water surface is in shadow we just use a slight darkening of the\\n      // water surface expressed with this shadowModifier.\\n      float shadowModifier = clamp(shadow, 0.8, 1.0);\\n\\n      // The reflected sky color consists of the fresnel reflection multiplied with the approximated sky color.\\n      // The shadow is influencing the frensel term to keep the shadow impression for really near views. As long\\n      // as reflection are absent there is a need to have a slight shadow for depth perception.\\n      vec3 reflSky = fresnelReflection(shadingInfo.VdotN, vec3(fresnelSky[0]), fresnelSky[1]) * skyColor * shadowModifier;\\n\\n      // The reflected sea color is the input water color combined with the reflected sky color.\\n      // The reflected sky color is modified by the incoming light.\\n      vec3 reflSea = seaWaterColor * mix(skyColor, upDotL * lightIntensity * LIGHT_NORMALIZATION, 2.0 / 3.0) * shadowModifier;\\n\\n      vec3 specular = vec3(0.0);\\n      // This prevents the specular light to be rendered when:\\n      // - sun is behind a polygon (e.g. sundown for elevated polygons where nDotL might be still ok)\\n      // - viewer is under water (for this localUp is better than n)\\n      if(upDotV > 0.0 && upDotL > 0.0) {\\n        // calculate the cook torrance BRDF but with simplified occlusion\\n        vec3 specularSun = brdfWater(shadingInfo, roughness, vec3(fresnelMaterial[0]), fresnelMaterial[1]);\\n        // Normalize light intensity to be between 0...1. Shadow cancels out specular light here\\n        vec3 incidentLight = lightIntensity * LIGHT_NORMALIZATION * shadow;\\n\\n        specular = shadingInfo.NdotL * incidentLight * specularSun;\\n      }\\n      // combining reflected sky, reflected sea and specular highlight.\\n      return tonemapACES(reflSky + reflSea + specular);\\n    }\\n  \"],[\"\\n    const vec3 fresnelSky =  vec3(0.02, 1.0, 5.0); // f0, f0max, exp\\n    const vec2 fresnelMaterial =  vec2(0.02, 0.1); // f0, f0max for specular term\\n    const float roughness = 0.06;\\n\\n    const vec3 skyZenitColor = vec3(0, 0.6, 0.9);\\n    const vec3 skyColor = vec3(0.72, 0.92, 1.0);\\n\\n    PBRShadingWater shadingInfo;\\n\\n    /*\\n    *   This function is an approximation for the sky gradient reflected\\n    *   the water surface and describes a combination of two fresnel terms.\\n    *   @parameter: cosTheta = is the result of max(dot(n,v), 0.0)\\n    *   @parameter: horizon = the dominant color of the sky horizon\\n    *   @parameter: cosTheta = the dominant color of the sky zenit\\n    */\\n    vec3 getSkyGradientColor(in float cosTheta, in vec3 horizon, in vec3 zenit) {\\n      float exponent = pow((1.0 - cosTheta), fresnelSky[2]);\\n      return mix(zenit, horizon, exponent);\\n    }\\n\\n    /*\\n    *   This function determines the water color per pixel.\\n    *   @parameter: n = normal facing away from the surface\\n    *   @parameter: v = view direction facing away from the surface.\\n    *   @parameter: l = light direction facing away from the surface\\n    *   @parameter: lightIntensity = light intensity, currently between 0...PI\\n    *   @parameter: localUp = a normal for the general direction of the surface\\n    *   @parameter: shadow = the amount of shadow at this pixel (0 = no shadow)\\n    */\\n    vec3 getSeaColor(in vec3 n, in vec3 v, in vec3 l, vec3 color, in vec3 lightIntensity, in vec3 localUp, in float shadow) {\\n\\n      vec3 seaWaterColor = linearizeGamma(color);\\n      // using half vector to determine the specular light\\n      vec3 h = normalize(l + v);\\n      shadingInfo.NdotL = clamp(dot(n, l), 0.0, 1.0);\\n      shadingInfo.NdotV = clamp(dot(n, v), 0.001, 1.0);\\n      shadingInfo.VdotN = clamp(dot(v, n), 0.001, 1.0);\\n      shadingInfo.NdotH = clamp(dot(n, h), 0.0, 1.0);\\n      shadingInfo.VdotH = clamp(dot(v, h), 0.0, 1.0);\\n      shadingInfo.LdotH = clamp(dot(l, h), 0.0, 1.0);\\n\\n      // angle between vertex normal and view direction\\n      float upDotV = max(dot(localUp,v), 0.0);\\n      // reflected sky color: the reflected sky color consists of two main colors, the\\n      // reflected color at the horizon and the reflected color of the zenit.\\n      // the reflected sky color is then an approximation based on the fresnel term.\\n      vec3 skyHorizon = linearizeGamma(skyColor);\\n      vec3 skyZenit = linearizeGamma(skyZenitColor);\\n      vec3 skyColor = getSkyGradientColor(upDotV, skyHorizon, skyZenit );\\n\\n      // we use the upDotL to smoothen out the\\n      // reflected color of the water\\n      float upDotL = max(dot(localUp,l),0.0);\\n\\n      // The approximated sky color is adjusted according to the sun position.\\n      // This is done as approximation for e.g. night views.\\n      skyColor *= 0.1 + upDotL * 0.9;\\n\\n      // If a water surface is in shadow we just use a slight darkening of the\\n      // water surface expressed with this shadowModifier.\\n      float shadowModifier = clamp(shadow, 0.8, 1.0);\\n\\n      // The reflected sky color consists of the fresnel reflection multiplied with the approximated sky color.\\n      // The shadow is influencing the frensel term to keep the shadow impression for really near views. As long\\n      // as reflection are absent there is a need to have a slight shadow for depth perception.\\n      vec3 reflSky = fresnelReflection(shadingInfo.VdotN, vec3(fresnelSky[0]), fresnelSky[1]) * skyColor * shadowModifier;\\n\\n      // The reflected sea color is the input water color combined with the reflected sky color.\\n      // The reflected sky color is modified by the incoming light.\\n      vec3 reflSea = seaWaterColor * mix(skyColor, upDotL * lightIntensity * LIGHT_NORMALIZATION, 2.0 / 3.0) * shadowModifier;\\n\\n      vec3 specular = vec3(0.0);\\n      // This prevents the specular light to be rendered when:\\n      // - sun is behind a polygon (e.g. sundown for elevated polygons where nDotL might be still ok)\\n      // - viewer is under water (for this localUp is better than n)\\n      if(upDotV > 0.0 && upDotL > 0.0) {\\n        // calculate the cook torrance BRDF but with simplified occlusion\\n        vec3 specularSun = brdfWater(shadingInfo, roughness, vec3(fresnelMaterial[0]), fresnelMaterial[1]);\\n        // Normalize light intensity to be between 0...1. Shadow cancels out specular light here\\n        vec3 incidentLight = lightIntensity * LIGHT_NORMALIZATION * shadow;\\n\\n        specular = shadingInfo.NdotL * incidentLight * specularSun;\\n      }\\n      // combining reflected sky, reflected sea and specular highlight.\\n      return tonemapACES(reflSky + reflSea + specular);\\n    }\\n  \"]))))}Object.defineProperty(n,\"__esModule\",{value:!0}),n.Water=i;var 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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,t,n,r){function a(e){e.fragment.uniforms.add(\"texWaveNormal\",\"sampler2D\"),e.fragment.uniforms.add(\"texWavePerturbation\",\"sampler2D\"),e.fragment.uniforms.add(\"octaveTextureRepeat\",\"vec3\"),e.fragment.uniforms.add(\"waveParams\",\"vec4\"),e.fragment.uniforms.add(\"waveDirection\",\"vec2\"),e.fragment.code.add(r.glsl(o||(o=n([\"\\n      // uniform vec3 octaveTextureRepeat;\\n\\n      // // 0: waveStrength\\n      // // 1: waveTextureRepeat\\n      // // 2: flowStrength\\n      // // 3: flowOffset\\n      // uniform vec4 waveParams;\\n\\n      // uniform vec2 waveDirection;\\n\\n      const vec2  FLOW_JUMP = vec2(6.0/25.0, 5.0/24.0);\\n\\n      vec2 textureDenormalized2D(sampler2D _tex, vec2 _uv) {\\n        return 2.0 * texture2D(_tex, _uv).rg - 1.0;\\n      }\\n\\n      float sampleNoiseTexture(vec2 _uv) {\\n        return texture2D(texWavePerturbation, _uv).b;\\n      }\\n\\n      vec3 textureDenormalized3D(sampler2D _tex, vec2 _uv) {\\n        return 2.0 * texture2D(_tex, _uv).rgb - 1.0;\\n      }\\n\\n      float computeProgress(vec2 uv, float time) {\\n        return fract(time);\\n      }\\n\\n      float computeWeight(vec2 uv, float time) {\\n        float progress = computeProgress(uv, time);\\n        return 1.0 - abs(1.0 - 2.0 * progress);\\n      }\\n\\n      vec3 computeUVPerturbedWeigth(sampler2D texFlow, vec2 uv, float time, float phaseOffset) {\\n        float flowStrength = waveParams[2];\\n        float flowOffset = waveParams[3];\\n\\n        vec2 flowVector = textureDenormalized2D(texFlow, uv) * flowStrength;\\n\\n        float progress = computeProgress(uv, time + phaseOffset);\\n        float weight = computeWeight(uv, time + phaseOffset);\\n\\n        vec2 result = uv;\\n        result -= flowVector * (progress + flowOffset);\\n        result += phaseOffset;\\n        result += (time - progress) * FLOW_JUMP;\\n\\n        return vec3(result, weight);\\n      }\\n\\n      const float TIME_NOISE_TEXTURE_REPEAT = 0.3737;\\n      const float TIME_NOISE_STRENGTH = 7.77;\\n\\n      vec3 getWaveLayer(sampler2D _texNormal, sampler2D _dudv, vec2 _uv, vec2 _waveDir, float time) {\\n        float waveStrength = waveParams[0];\\n\\n        // overall directional shift in uv's for directional wave movement for\\n        // now we do a hard coded scale for wave speed such that a unit length\\n        // direction is not too fast.\\n        vec2 waveMovement = time * -_waveDir;\\n\\n        float timeNoise = sampleNoiseTexture(_uv * TIME_NOISE_TEXTURE_REPEAT) * TIME_NOISE_STRENGTH;\\n\\n        // compute two perturbed uvs and blend weights\\n        // then sample the wave normals at the two positions and blend\\n        vec3 uv_A = computeUVPerturbedWeigth(_dudv, _uv + waveMovement, time + timeNoise, 0.0);\\n        vec3 uv_B = computeUVPerturbedWeigth(_dudv, _uv + waveMovement, time + timeNoise, 0.5);\\n\\n        vec3 normal_A = textureDenormalized3D(_texNormal, uv_A.xy) * uv_A.z;\\n        vec3 normal_B = textureDenormalized3D(_texNormal, uv_B.xy) * uv_B.z;\\n\\n        // logic to flatten the wave pattern\\n        // scale xy components of the normal, then adjust z (up) component\\n        vec3 mixNormal = normalize(normal_A + normal_B);\\n        mixNormal.xy *= waveStrength;\\n        mixNormal.z = sqrt(1.0 - dot(mixNormal.xy, mixNormal.xy));\\n\\n        return mixNormal;\\n      }\\n\\n      vec3 getSurfaceNormal(vec2 _uv, float _time) {\\n        float waveTextureRepeat = waveParams[1];\\n        return getWaveLayer(texWaveNormal, texWavePerturbation, _uv * waveTextureRepeat, waveDirection, _time);\\n      }\\n    \"],[\"\\n      // uniform vec3 octaveTextureRepeat;\\n\\n      // // 0: waveStrength\\n      // // 1: waveTextureRepeat\\n      // // 2: flowStrength\\n      // // 3: flowOffset\\n      // uniform vec4 waveParams;\\n\\n      // uniform vec2 waveDirection;\\n\\n      const vec2  FLOW_JUMP = vec2(6.0/25.0, 5.0/24.0);\\n\\n      vec2 textureDenormalized2D(sampler2D _tex, vec2 _uv) {\\n        return 2.0 * texture2D(_tex, _uv).rg - 1.0;\\n      }\\n\\n      float sampleNoiseTexture(vec2 _uv) {\\n        return texture2D(texWavePerturbation, _uv).b;\\n      }\\n\\n      vec3 textureDenormalized3D(sampler2D _tex, vec2 _uv) {\\n        return 2.0 * texture2D(_tex, _uv).rgb - 1.0;\\n      }\\n\\n      float computeProgress(vec2 uv, float time) {\\n        return fract(time);\\n      }\\n\\n      float computeWeight(vec2 uv, float time) {\\n        float progress = computeProgress(uv, time);\\n        return 1.0 - abs(1.0 - 2.0 * progress);\\n      }\\n\\n      vec3 computeUVPerturbedWeigth(sampler2D texFlow, vec2 uv, float time, float phaseOffset) {\\n        float flowStrength = waveParams[2];\\n        float flowOffset = waveParams[3];\\n\\n        vec2 flowVector = textureDenormalized2D(texFlow, uv) * flowStrength;\\n\\n        float progress = computeProgress(uv, time + phaseOffset);\\n        float weight = computeWeight(uv, time + phaseOffset);\\n\\n        vec2 result = uv;\\n        result -= flowVector * (progress + flowOffset);\\n        result += phaseOffset;\\n        result += (time - progress) * FLOW_JUMP;\\n\\n        return vec3(result, weight);\\n      }\\n\\n      const float TIME_NOISE_TEXTURE_REPEAT = 0.3737;\\n      const float TIME_NOISE_STRENGTH = 7.77;\\n\\n      vec3 getWaveLayer(sampler2D _texNormal, sampler2D _dudv, vec2 _uv, vec2 _waveDir, float time) {\\n        float waveStrength = waveParams[0];\\n\\n        // overall directional shift in uv's for directional wave movement for\\n        // now we do a hard coded scale for wave speed such that a unit length\\n        // direction is not too fast.\\n        vec2 waveMovement = time * -_waveDir;\\n\\n        float timeNoise = sampleNoiseTexture(_uv * TIME_NOISE_TEXTURE_REPEAT) * TIME_NOISE_STRENGTH;\\n\\n        // compute two perturbed uvs and blend weights\\n        // then sample the wave normals at the two positions and blend\\n        vec3 uv_A = computeUVPerturbedWeigth(_dudv, _uv + waveMovement, time + timeNoise, 0.0);\\n        vec3 uv_B = computeUVPerturbedWeigth(_dudv, _uv + waveMovement, time + timeNoise, 0.5);\\n\\n        vec3 normal_A = textureDenormalized3D(_texNormal, uv_A.xy) * uv_A.z;\\n        vec3 normal_B = textureDenormalized3D(_texNormal, uv_B.xy) * uv_B.z;\\n\\n        // logic to flatten the wave pattern\\n        // scale xy components of the normal, then adjust z (up) component\\n        vec3 mixNormal = normalize(normal_A + normal_B);\\n        mixNormal.xy *= waveStrength;\\n        mixNormal.z = sqrt(1.0 - dot(mixNormal.xy, mixNormal.xy));\\n\\n        return mixNormal;\\n      }\\n\\n      vec3 getSurfaceNormal(vec2 _uv, float _time) {\\n        float waveTextureRepeat = waveParams[1];\\n        return getWaveLayer(texWaveNormal, texWavePerturbation, _uv * waveTextureRepeat, waveDirection, _time);\\n      }\\n    \"]))))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.WaterDistortion=a;var 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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,c,n,r){function v(e,c){var v=[r.glsl(a||(a=n([\"\\n      vec4 premultiplyAlpha(vec4 v) {\\n        return vec4(v.rgb * v.a, v.a);\\n      }\\n    \"],[\"\\n      vec4 premultiplyAlpha(vec4 v) {\\n        return vec4(v.rgb * v.a, v.a);\\n      }\\n    \"]))),r.glsl(x||(x=n([\"\\n      vec3 rgb2hsv(vec3 c) {\\n        vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\n        vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\n        vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\n\\n        float d = q.x - min(q.w, q.y);\\n        float e = 1.0e-10;\\n        return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n      }\\n    \"],[\"\\n      vec3 rgb2hsv(vec3 c) {\\n        vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\n        vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\n        vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\n\\n        float d = q.x - min(q.w, q.y);\\n        float e = 1.0e-10;\\n        return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n      }\\n    \"]))),r.glsl(t||(t=n([\"\\n      vec3 hsv2rgb(vec3 c) {\\n        vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\n        vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\n        return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n      }\\n    \"],[\"\\n      vec3 hsv2rgb(vec3 c) {\\n        vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\n        vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\n        return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n      }\\n    \"]))),r.glsl(o||(o=n([\"\\n      float rgb2v(vec3 c) {\\n        return max(c.x, max(c.y, c.z));\\n      }\\n    \"],[\"\\n      float rgb2v(vec3 c) {\\n        return max(c.x, max(c.y, c.z));\\n      }\\n    \"])))];switch(c.stages){case 0:v.forEach(function(c){return e.vertex.code.add(c)});break;case 1:v.forEach(function(c){return e.fragment.code.add(c)});break;default:v.forEach(function(c){return e.vertex.code.add(c)}),v.forEach(function(c){return e.fragment.code.add(c)})}}Object.defineProperty(c,\"__esModule\",{value:!0}),c.ColorConversion=v;var a,x,t,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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,n,r,a){function f(e){var n=a.glsl(o||(o=r([\"\\n    vec3 decodeNormal(vec2 f) {\\n      float z = 1.0 - abs(f.x) - abs(f.y);\\n      return vec3(f + sign(f) * min(z, 0.0), z);\\n    }\\n  \"],[\"\\n    vec3 decodeNormal(vec2 f) {\\n      float z = 1.0 - abs(f.x) - abs(f.y);\\n      return vec3(f + sign(f) * min(z, 0.0), z);\\n    }\\n  \"])));e.fragment.code.add(n),e.vertex.code.add(n)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.DecodeNormal=f;var 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/makeTemplateObjectHelper\",\"../../../../../../core/has\",\"../../shaderModules/interfaces\",\"../../../lib/WebGLDriverTest\"],function(e,n,c,i,t,r){function v(e,n){n.doublePrecisionRequiresObfuscation?e.vertex.code.add(t.glsl(l||(l=c([\"\\n      vec3 dpPlusFrc(vec3 a, vec3 b) {\\n        return mix(a, a + b, vec3(notEqual(b, vec3(0))));\\n      }\\n\\n      vec3 dpMinusFrc(vec3 a, vec3 b) {\\n        return mix(vec3(0), a - b, vec3(notEqual(a, b)));\\n      }\\n\\n      // based on https://www.thasler.com/blog/blog/glsl-part2-emu\\n      vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\\n        vec3 t1 = dpPlusFrc(hiA, hiB);\\n        vec3 e = dpMinusFrc(t1, hiA);\\n        vec3 t2 = dpMinusFrc(hiB, e) + dpMinusFrc(hiA, dpMinusFrc(t1, e)) + loA + loB;\\n        return t1 + t2;\\n      }\\n    \"],[\"\\n      vec3 dpPlusFrc(vec3 a, vec3 b) {\\n        return mix(a, a + b, vec3(notEqual(b, vec3(0))));\\n      }\\n\\n      vec3 dpMinusFrc(vec3 a, vec3 b) {\\n        return mix(vec3(0), a - b, vec3(notEqual(a, b)));\\n      }\\n\\n      // based on https://www.thasler.com/blog/blog/glsl-part2-emu\\n      vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\\n        vec3 t1 = dpPlusFrc(hiA, hiB);\\n        vec3 e = dpMinusFrc(t1, hiA);\\n        vec3 t2 = dpMinusFrc(hiB, e) + dpMinusFrc(hiA, dpMinusFrc(t1, e)) + loA + loB;\\n        return t1 + t2;\\n      }\\n    \"])))):e.vertex.code.add(t.glsl(u||(u=c([\"\\n      vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\\n        vec3 t1 = hiA + hiB;\\n        vec3 e = t1 - hiA;\\n        vec3 t2 = ((hiB - e) + (hiA - (t1 - e))) + loA + loB;\\n        return t1 + t2;\\n      }\\n    \"],[\"\\n      vec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\\n        vec3 t1 = hiA + hiB;\\n        vec3 e = t1 - hiA;\\n        vec3 t2 = ((hiB - e) + (hiA - (t1 - e))) + loA + loB;\\n        return t1 + t2;\\n      }\\n    \"]))))}function o(e){return!!i(\"force-double-precision-obfuscation\")||r.testWebGLDriver(e).doublePrecisionRequiresObfuscation}Object.defineProperty(n,\"__esModule\",{value:!0}),n.DoublePrecision=v,n.doublePrecisionRequiresObfuscation=o;var 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\",\"../../../../../../core/tsSupport/makeTemplateObjectHelper\",\"./ColorConversion.glsl\",\"../../shaderModules/interfaces\"],function(e,n,t,r,i){function l(e,n){e.include(r.ColorConversion,n);var l=i.glsl(a||(a=t([\"\\n    vec3 mixExternalColor(vec3 internalColor, vec3 textureColor, vec3 externalColor, int mode) {\\n      // workaround for artifacts in OSX using Intel Iris Pro\\n      // see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475\\n      vec3 internalMixed = internalColor * textureColor;\\n      vec3 allMixed = internalMixed * externalColor;\\n\\n      if (mode == \",\") {\\n        return allMixed;\\n      }\\n      else if (mode == \",\") {\\n        return internalMixed;\\n      }\\n      else if (mode == \",\") {\\n        return externalColor;\\n      }\\n      else {\\n        // tint (or something invalid)\\n        float vIn = rgb2v(internalMixed);\\n        vec3 hsvTint = rgb2hsv(externalColor);\\n        vec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\\n        return hsv2rgb(hsvOut);\\n      }\\n    }\\n\\n    float mixExternalOpacity(float internalOpacity, float textureOpacity, float externalOpacity, int mode) {\\n      // workaround for artifacts in OSX using Intel Iris Pro\\n      // see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475\\n      float internalMixed = internalOpacity * textureOpacity;\\n      float allMixed = internalMixed * externalOpacity;\\n\\n      if (mode == \",\") {\\n        return internalMixed;\\n      }\\n      else if (mode == \",\") {\\n        return externalOpacity;\\n      }\\n      else {\\n        // multiply or tint (or something invalid)\\n        return allMixed;\\n      }\\n    }\\n  \"],[\"\\n    vec3 mixExternalColor(vec3 internalColor, vec3 textureColor, vec3 externalColor, int mode) {\\n      // workaround for artifacts in OSX using Intel Iris Pro\\n      // see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475\\n      vec3 internalMixed = internalColor * textureColor;\\n      vec3 allMixed = internalMixed * externalColor;\\n\\n      if (mode == \",\") {\\n        return allMixed;\\n      }\\n      else if (mode == \",\") {\\n        return internalMixed;\\n      }\\n      else if (mode == \",\") {\\n        return externalColor;\\n      }\\n      else {\\n        // tint (or something invalid)\\n        float vIn = rgb2v(internalMixed);\\n        vec3 hsvTint = rgb2hsv(externalColor);\\n        vec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\\n        return hsv2rgb(hsvOut);\\n      }\\n    }\\n\\n    float mixExternalOpacity(float internalOpacity, float textureOpacity, float externalOpacity, int mode) {\\n      // workaround for artifacts in OSX using Intel Iris Pro\\n      // see: https://devtopia.esri.com/WebGIS/arcgis-js-api/issues/10475\\n      float internalMixed = internalOpacity * textureOpacity;\\n      float allMixed = internalMixed * externalOpacity;\\n\\n      if (mode == \",\") {\\n        return internalMixed;\\n      }\\n      else if (mode == \",\") {\\n        return externalOpacity;\\n      }\\n      else {\\n        // multiply or tint (or something invalid)\\n        return allMixed;\\n      }\\n    }\\n  \"])),i.glsl.int(1),i.glsl.int(2),i.glsl.int(3),i.glsl.int(2),i.glsl.int(3));switch(n.stages){case 0:e.vertex.code.add(l);break;case 1:e.fragment.code.add(l);break;default:e.vertex.code.add(l),e.fragment.code.add(l)}}Object.defineProperty(n,\"__esModule\",{value:!0}),n.MixExternalColor=l;var 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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(n,t,e,o){function a(n){var t=o.glsl(r||(r=e([\"\\n    // This is the maximum float value representable as 32bit fixed point,\\n    // it is rgba2float(vec4(1)) inlined.\\n    const float MAX_RGBA_FLOAT =\\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\\n    // Factors to convert to fixed point, i.e. factors (256^0, 256^1, 256^2, 256^3)\\n    const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);\\n\\n    vec4 float2rgba(const float value) {\\n      // Make sure value is in the domain we can represent\\n      float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);\\n\\n      // Decompose value in 32bit fixed point parts represented as\\n      // uint8 rgba components. Decomposition uses the fractional part after multiplying\\n      // by a power of 256 (this removes the bits that are represented in the previous\\n      // component) and then converts the fractional part to 8bits.\\n      vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);\\n\\n      // Convert uint8 values (from 0 to 255) to floating point representation for\\n      // the shader\\n      const float toU8AsFloat = 1.0 / 255.0;\\n\\n      return fixedPointU8 * toU8AsFloat;\\n    }\\n\\n    // Factors to convert rgba back to float\\n    const vec4 RGBA_2_FLOAT_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    );\\n\\n    float rgba2float(vec4 rgba) {\\n      // Convert components from 0->1 back to 0->255 and then\\n      // add the components together with their corresponding\\n      // fixed point factors, i.e. (256^1, 256^2, 256^3, 256^4)\\n      return dot(rgba, RGBA_2_FLOAT_FACTORS);\\n    }\\n  \"],[\"\\n    // This is the maximum float value representable as 32bit fixed point,\\n    // it is rgba2float(vec4(1)) inlined.\\n    const float MAX_RGBA_FLOAT =\\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\\n    // Factors to convert to fixed point, i.e. factors (256^0, 256^1, 256^2, 256^3)\\n    const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);\\n\\n    vec4 float2rgba(const float value) {\\n      // Make sure value is in the domain we can represent\\n      float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);\\n\\n      // Decompose value in 32bit fixed point parts represented as\\n      // uint8 rgba components. Decomposition uses the fractional part after multiplying\\n      // by a power of 256 (this removes the bits that are represented in the previous\\n      // component) and then converts the fractional part to 8bits.\\n      vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);\\n\\n      // Convert uint8 values (from 0 to 255) to floating point representation for\\n      // the shader\\n      const float toU8AsFloat = 1.0 / 255.0;\\n\\n      return fixedPointU8 * toU8AsFloat;\\n    }\\n\\n    // Factors to convert rgba back to float\\n    const vec4 RGBA_2_FLOAT_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    );\\n\\n    float rgba2float(vec4 rgba) {\\n      // Convert components from 0->1 back to 0->255 and then\\n      // add the components together with their corresponding\\n      // fixed point factors, i.e. (256^1, 256^2, 256^3, 256^4)\\n      return dot(rgba, RGBA_2_FLOAT_FACTORS);\\n    }\\n  \"])));n.fragment.code.add(t),n.vertex.code.add(t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.RgbaFloatEncoding=a;var 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/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,a,n,r){function s(e){e.vertex.code.add(r.glsl(c||(c=n([\"\\n    float screenSizePerspectiveMinSize(float size, vec4 factor) {\\n      float nonZeroSize = 1.0 - step(size, 0.0);\\n\\n      return (\\n        factor.z * (\\n          1.0 +\\n          nonZeroSize *                // Multiply by nzs ensures if size is 0, then we ignore\\n                                      // proportionally scaled padding\\n          2.0 * factor.w / (\\n            size + (1.0 - nonZeroSize) // Adding 1 - nzs ensures we divide either by size, or by 1\\n          )\\n        )\\n      );\\n    }\\n  \"],[\"\\n    float screenSizePerspectiveMinSize(float size, vec4 factor) {\\n      float nonZeroSize = 1.0 - step(size, 0.0);\\n\\n      return (\\n        factor.z * (\\n          1.0 +\\n          nonZeroSize *                // Multiply by nzs ensures if size is 0, then we ignore\\n                                      // proportionally scaled padding\\n          2.0 * factor.w / (\\n            size + (1.0 - nonZeroSize) // Adding 1 - nzs ensures we divide either by size, or by 1\\n          )\\n        )\\n      );\\n    }\\n  \"])))),e.vertex.code.add(r.glsl(t||(t=n([\"\\n    float screenSizePerspectiveViewAngleDependentFactor(float absCosAngle) {\\n      return absCosAngle * absCosAngle * absCosAngle;\\n    }\\n  \"],[\"\\n    float screenSizePerspectiveViewAngleDependentFactor(float absCosAngle) {\\n      return absCosAngle * absCosAngle * absCosAngle;\\n    }\\n  \"])))),e.vertex.code.add(r.glsl(i||(i=n([\"\\n    vec4 screenSizePerspectiveScaleFactor(float absCosAngle, float distanceToCamera, vec4 params) {\\n      return vec4(min(params.x / (distanceToCamera - params.y), 1.0), screenSizePerspectiveViewAngleDependentFactor(absCosAngle), params.z, params.w);\\n    }\\n  \"],[\"\\n    vec4 screenSizePerspectiveScaleFactor(float absCosAngle, float distanceToCamera, vec4 params) {\\n      return vec4(min(params.x / (distanceToCamera - params.y), 1.0), screenSizePerspectiveViewAngleDependentFactor(absCosAngle), params.z, params.w);\\n    }\\n  \"])))),e.vertex.code.add(r.glsl(o||(o=n([\"\\n    float applyScreenSizePerspectiveScaleFactorFloat(float size, vec4 factor) {\\n      return max(mix(size * factor.x, size, factor.y), screenSizePerspectiveMinSize(size, factor));\\n    }\\n  \"],[\"\\n    float applyScreenSizePerspectiveScaleFactorFloat(float size, vec4 factor) {\\n      return max(mix(size * factor.x, size, factor.y), screenSizePerspectiveMinSize(size, factor));\\n    }\\n  \"])))),e.vertex.code.add(r.glsl(l||(l=n([\"\\n    float screenSizePerspectiveScaleFloat(float size, float absCosAngle, float distanceToCamera, vec4 params) {\\n      return applyScreenSizePerspectiveScaleFactorFloat(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\\n    }\\n  \"],[\"\\n    float screenSizePerspectiveScaleFloat(float size, float absCosAngle, float distanceToCamera, vec4 params) {\\n      return applyScreenSizePerspectiveScaleFactorFloat(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\\n    }\\n  \"])))),e.vertex.code.add(r.glsl(p||(p=n([\"\\n    vec2 applyScreenSizePerspectiveScaleFactorVec2(vec2 size, vec4 factor) {\\n      return mix(size * clamp(factor.x, screenSizePerspectiveMinSize(size.y, factor) / size.y, 1.0), size, factor.y);\\n    }\\n  \"],[\"\\n    vec2 applyScreenSizePerspectiveScaleFactorVec2(vec2 size, vec4 factor) {\\n      return mix(size * clamp(factor.x, screenSizePerspectiveMinSize(size.y, factor) / size.y, 1.0), size, factor.y);\\n    }\\n  \"])))),e.vertex.code.add(r.glsl(z||(z=n([\"\\n    vec2 screenSizePerspectiveScaleVec2(vec2 size, float absCosAngle, float distanceToCamera, vec4 params) {\\n      return applyScreenSizePerspectiveScaleFactorVec2(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\\n    }\\n  \"],[\"\\n    vec2 screenSizePerspectiveScaleVec2(vec2 size, float absCosAngle, float distanceToCamera, vec4 params) {\\n      return applyScreenSizePerspectiveScaleFactorVec2(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\\n    }\\n  \"]))))}Object.defineProperty(a,\"__esModule\",{value:!0}),a.ScreenSizePerspective=s;var c,t,i,o,l,p,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\",\"../../../../../../core/tsSupport/makeTemplateObjectHelper\",\"../../shaderModules/interfaces\"],function(e,t,a,d){function n(e){e.extensions.add(\"GL_EXT_shader_texture_lod\"),e.extensions.add(\"GL_OES_standard_derivatives\"),e.fragment.code.add(d.glsl(r||(r=a([\"\\n    #ifndef GL_EXT_shader_texture_lod\\n      float calcMipMapLevel(const vec2 ddx, const vec2 ddy) {\\n        float deltaMaxSqr = max(dot(ddx, ddx), dot(ddy, ddy));\\n        return max(0.0, 0.5 * log2(deltaMaxSqr));\\n      }\\n    #endif\\n\\n    vec4 textureAtlasLookup(sampler2D texture, vec2 textureSize, vec2 textureCoordinates, vec4 atlasRegion) {\\n      //[umin, vmin, umax, vmax]\\n      vec2 atlasScale = atlasRegion.zw - atlasRegion.xy;\\n      vec2 uvAtlas = fract(textureCoordinates) * atlasScale + atlasRegion.xy;\\n\\n      // calculate derivative of continuous texture coordinate\\n      // to avoid mipmapping artifacts caused by manual wrapping in shader\\n      vec2 dUVdx = dFdx(textureCoordinates) * atlasScale;\\n      vec2 dUVdy = dFdy(textureCoordinates) * atlasScale;\\n\\n      #ifdef GL_EXT_shader_texture_lod\\n        return texture2DGradEXT(texture, uvAtlas, dUVdx, dUVdy);\\n      #else\\n        // use bias to compensate for difference in automatic vs desired mipmap level\\n        vec2 dUVdxAuto = dFdx(uvAtlas);\\n        vec2 dUVdyAuto = dFdy(uvAtlas);\\n        float mipMapLevel = calcMipMapLevel(dUVdx * textureSize, dUVdy * textureSize);\\n        float autoMipMapLevel = calcMipMapLevel(dUVdxAuto * textureSize, dUVdyAuto * textureSize);\\n\\n        return texture2D(texture, uvAtlas, mipMapLevel - autoMipMapLevel);\\n      #endif\\n    }\\n  \"],[\"\\n    #ifndef GL_EXT_shader_texture_lod\\n      float calcMipMapLevel(const vec2 ddx, const vec2 ddy) {\\n        float deltaMaxSqr = max(dot(ddx, ddx), dot(ddy, ddy));\\n        return max(0.0, 0.5 * log2(deltaMaxSqr));\\n      }\\n    #endif\\n\\n    vec4 textureAtlasLookup(sampler2D texture, vec2 textureSize, vec2 textureCoordinates, vec4 atlasRegion) {\\n      //[umin, vmin, umax, vmax]\\n      vec2 atlasScale = atlasRegion.zw - atlasRegion.xy;\\n      vec2 uvAtlas = fract(textureCoordinates) * atlasScale + atlasRegion.xy;\\n\\n      // calculate derivative of continuous texture coordinate\\n      // to avoid mipmapping artifacts caused by manual wrapping in shader\\n      vec2 dUVdx = dFdx(textureCoordinates) * atlasScale;\\n      vec2 dUVdy = dFdy(textureCoordinates) * atlasScale;\\n\\n      #ifdef GL_EXT_shader_texture_lod\\n        return texture2DGradEXT(texture, uvAtlas, dUVdx, dUVdy);\\n      #else\\n        // use bias to compensate for difference in automatic vs desired mipmap level\\n        vec2 dUVdxAuto = dFdx(uvAtlas);\\n        vec2 dUVdyAuto = dFdy(uvAtlas);\\n        float mipMapLevel = calcMipMapLevel(dUVdx * textureSize, dUVdy * textureSize);\\n        float autoMipMapLevel = calcMipMapLevel(dUVdxAuto * textureSize, dUVdyAuto * textureSize);\\n\\n        return texture2D(texture, uvAtlas, mipMapLevel - autoMipMapLevel);\\n      #endif\\n    }\\n  \"]))))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.TextureAtlasLookup=n;var 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/iteratorUtils\",\"../../../../../core/Logger\"],function(e,n,t,r){Object.defineProperty(n,\"__esModule\",{value:!0});var i=r.getLogger(\"esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder\"),o=function(){function e(){this.vertex=new a,this.fragment=new a,this.attributes=new c,this.varyings=new d,this.extensions=new f,this.defines=new h,this._includedModules=new Map}return e.prototype.include=function(e,n){if(this._includedModules.has(e))return void(this._includedModules.get(e)!==n&&i.error(\"Trying to include shader module multiple times with different sets of options.\"));this._includedModules.set(e,n),\"shaderModule\"in e?e.shaderModule(this,n):e(this,n)},e.prototype.generateSource=function(e){var n=this.extensions.generateSource(e),t=this.attributes.generateSource(e),r=this.varyings.generateSource(),i=\"vertex\"===e?this.vertex:this.fragment,o=i.uniforms.generateSource(),s=i.code.generateSource(),u=\"vertex\"===e?_:p,a=this.defines.generateSource().concat(i.defines.generateSource());return\"\\n\"+n.join(\"\\n\")+\"\\n\\n\"+a.join(\"\\n\")+\"\\n\\n\"+u+\"\\n\\n\"+o.join(\"\\n\")+\"\\n\\n\"+t.join(\"\\n\")+\"\\n\\n\"+r.join(\"\\n\")+\"\\n\\n\"+s.join(\"\\n\")},e}();n.ShaderBuilder=o;var s=function(){function e(){this._entries=new Array,this._set=new Set}return e.prototype.add=function(e,n,t){var r=e+\"_\"+n+\"_\"+t;return this._set.has(r)||(this._entries.push([e,n,t]),this._set.add(r)),this},e.prototype.generateSource=function(){var e=function(e){return e?\"[\"+e+\"]\":\"\"};return this._entries.map(function(n){return\"uniform \"+n[1]+\" \"+n[0]+e(n[2])+\";\"})},e}(),u=function(){function e(){this._entries=new Array}return e.prototype.add=function(e){this._entries.push(e)},e.prototype.generateSource=function(){return this._entries},e}(),a=function(){function e(){this.uniforms=new s,this.code=new u,this.defines=new h}return e}(),c=function(){function e(){this._entries=new Array}return e.prototype.add=function(e,n){this._entries.push([e,n])},e.prototype.generateSource=function(e){return\"fragment\"===e?[]:this._entries.map(function(e){return\"attribute \"+e[1]+\" \"+e[0]+\";\"})},e}(),d=function(){function e(){this._entries=new Array}return e.prototype.add=function(e,n){this._entries.push([e,n])},e.prototype.generateSource=function(){return this._entries.map(function(e){return\"varying \"+e[1]+\" \"+e[0]+\";\"})},e}(),f=function(){function e(){this._entries=new Set}return e.prototype.add=function(e){this._entries.add(e)},e.prototype.generateSource=function(n){var r=\"vertex\"===n?e.WHITELIST_VERTEX:e.WHITELIST_FRAGMENT;return t.valuesOfSet(this._entries).filter(function(e){return r.indexOf(e)>=0}).map(function(e){return\"#extension \"+e+\" : enable\"})},e.WHITELIST_FRAGMENT=[\"GL_EXT_shader_texture_lod\",\"GL_OES_standard_derivatives\"],e.WHITELIST_VERTEX=[],e}(),h=function(){function e(){this._entries=new Map}return e.prototype.addInt=function(e,n){var t=n%1==0?n.toFixed(0):n.toString();this._entries.set(e,t)},e.prototype.addFloat=function(e,n){var t=n%1==0?n.toFixed(1):n.toString();this._entries.set(e,t)},e.prototype.generateSource=function(){return t.pairsOfMap(this._entries).map(function(e){return\"#define \"+e[0]+\" \"+e[1]})},e}(),p=\"#ifdef GL_FRAGMENT_PRECISION_HIGH\\n  precision highp float;\\n  precision highp sampler2D;\\n#else\\n  precision mediump float;\\n  precision mediump sampler2D;\\n#endif\",_=\"precision highp float;\\nprecision highp sampler2D;\"});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\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 t(n){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];for(var r=\"\",l=0;l<e.length;l++)r+=n[l]+e[l];return r+=n[n.length-1]}Object.defineProperty(e,\"__esModule\",{value:!0}),e.glsl=t,function(n){function e(n){return Math.round(n).toString()}n.int=e}(t=e.glsl||(e.glsl={}))});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\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,i,r){Object.defineProperty(i,\"__esModule\",{value:!0});var t=function(){function e(e,i,r){this._relativePath=i,this._moduleRequire=r,this._module=e}return e.prototype.get=function(){return this._module},e.prototype.reload=function(){var e=this,i=this._moduleRequire.toUrl(this._relativePath);return i=i.slice(i.indexOf(\"esri/\")),this._recursivelyInvalidateModuleCache(i),r.create(function(i){e._moduleRequire([e._relativePath],function(r){e._module=r,i()})})},e.prototype._recursivelyInvalidateModuleCache=function(e){if(-1!==e.search(\"shader\")||-1!==e.search(\"shading\")){var i=this._moduleRequire.modules,r=i[e];if(r){var t=r.deps;delete i[e];for(var o=0,u=t;o<u.length;o++){var a=u[o];\"esri\"===a.pid&&this._recursivelyInvalidateModuleCache(a.mid)}}}},e}();i.ReloadableShaderModule=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(r,e){function o(r){var e=r.__proto__.__configurationParameters,o={};o.key=r.key;for(var i=0,t=e;i<t.length;i++){var n=t[i];o[n]=r[n]}return o}Object.defineProperty(e,\"__esModule\",{value:!0});var i=function(){function r(r,e){this._commonUniformStore=r.commonUniformStore,this._config=o(e),this._program=this.initializeProgram(r),this._commonUniformStore.subscribeProgram(this._program),this._pipeline=this.initializePipeline(r)}return r.prototype.dispose=function(){this._program&&(this._commonUniformStore.unsubscribeProgram(this._program),this._program.dispose(),this._program=null)},r.prototype.reload=function(r){this._program&&(this._commonUniformStore.unsubscribeProgram(this._program),this._program.dispose()),this._program=this.initializeProgram(r),this._commonUniformStore.subscribeProgram(this._program)},Object.defineProperty(r.prototype,\"program\",{get:function(){return this._program},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"pipeline\",{get:function(){return this._pipeline},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"key\",{get:function(){return this._config.key},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"configuration\",{get:function(){return this._config},enumerable:!0,configurable:!0}),r.prototype.bindPass=function(r,e,o){},r.prototype.bindMaterial=function(r,e){},r.prototype.bindDraw=function(r){},r}();e.ShaderTechnique=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\"],function(e,t,r){function i(e){return void 0===e&&(e={}),function(t,i){var o=t;o.__configurationParameters=o.__configurationParameters||[],o.__configurationParameters.push(i);var n=\"_\"+i;void 0===o.__configurationParameters__offset&&(o.__configurationParameters__offset=0);var a=o.__configurationParameters__offset,f=e.count||2,u=Math.ceil(r.log2(f)),s=(1<<u)-1,_=s<<a;if(o.__configurationParameters__offset+=u,o.__configurationParameters__offset>=32)throw new Error(\"ShaderTechniqueConfiguration is too complex, requiring more than 32 bits to encode.\\n      Either the configuration must be simplified, or this restriction must be relaxed.(Currently used: \"+o.__configurationParameters__offset+\")\");Object.defineProperty(o,i,{get:function(){return this[n]},set:function(e){this.key=this.key&~_|e<<a&_,this[n]=e}})}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=function(){function e(){this.key=0}return e}();t.ShaderTechniqueConfiguration=o,t.parameter=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\"],function(e,s,i,o,t){function n(){return function(e,s){e.__managedDisposables__=e.__managedDisposables__||[],e.__managedDisposables__.push(s)}}Object.defineProperty(s,\"__esModule\",{value:!0}),s.AutoDisposableMixin=function(e){return function(e){function s(){var s=null!==e&&e.apply(this,arguments)||this;return s._isDisposed=!1,s}return i(s,e),s.prototype.dispose=function(){for(var e=this.__proto__.__managedDisposables__||[],s=e.length-1;s>=0;s--){var i=e[s];this[i]&&\"function\"==typeof this[i].dispose&&this[i].dispose(),this[i]=null}this._isDisposed=!0},Object.defineProperty(s.prototype,\"isDisposed\",{get:function(){return this._isDisposed},enumerable:!0,configurable:!0}),s=o([t.subclass(\"esri.views.3d.webgl-engine.lib.AutoDisposableMixin\")],s)}(t.declared(e))};var r=function(e){function s(){return null!==e&&e.apply(this,arguments)||this}return i(s,e),s=o([t.subclass(\"esri.views.3d.webgl-engine.lib.AutoDisposable\")],s)}(t.declared(s.AutoDisposableMixin(function(){function e(){}return e}())));s.AutoDisposable=r,s.autoDispose=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/PooledArray\",\"../../../../core/libs/gl-matrix-2/vec3\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"./Util\"],function(i,t,e,s,r,n){var h=function(){function i(t,e,h,a){this.primitiveIndices=t,this._numIndexPerPrimitive=e,this.indices=h,this._position=a,this.center=r.vec3f64.create(),n.assert(t.length>=1),n.assert(h.length%this._numIndexPerPrimitive==0),n.assert(h.length>=t.length*this._numIndexPerPrimitive),n.assert(3===this._position.size||4===this._position.size);var b=this._position,o=b.data,c=b.offsetIdx,d=b.strideIdx,u=0,v=t.length,m=c+d*h[this._numIndexPerPrimitive*t[u]];for(i.tmpIndices.clear(),i.tmpIndices.push(m),this.bbMin=r.vec3f64.fromValues(o[m],o[m+1],o[m+2]),this.bbMax=r.vec3f64.clone(this.bbMin);u<v;++u)for(var p=this._numIndexPerPrimitive*t[u],M=0;M<this._numIndexPerPrimitive;++M){m=c+d*h[p+M],i.tmpIndices.push(m);var f=o[m];this.bbMin[0]=Math.min(f,this.bbMin[0]),this.bbMax[0]=Math.max(f,this.bbMax[0]),f=o[m+1],this.bbMin[1]=Math.min(f,this.bbMin[1]),this.bbMax[1]=Math.max(f,this.bbMax[1]),f=o[m+2],this.bbMin[2]=Math.min(f,this.bbMin[2]),this.bbMax[2]=Math.max(f,this.bbMax[2])}s.vec3.lerp(this.center,this.bbMin,this.bbMax,.5),this.bsRadius=.5*Math.max(Math.max(this.bbMax[0]-this.bbMin[0],this.bbMax[1]-this.bbMin[1]),this.bbMax[2]-this.bbMin[2]);var x=this.bsRadius*this.bsRadius;for(u=0;u<i.tmpIndices.length;++u){m=i.tmpIndices.data[u];var l=o[m]-this.center[0],I=o[m+1]-this.center[1],P=o[m+2]-this.center[2],_=l*l+I*I+P*P;if(!(_<=x)){var g=Math.sqrt(_),y=.5*(g-this.bsRadius);this.bsRadius=this.bsRadius+y,x=this.bsRadius*this.bsRadius;var R=y/g;this.center[0]+=l*R,this.center[1]+=I*R,this.center[2]+=P*R}}i.tmpIndices.clear()}return i.prototype.getCenter=function(){return this.center},i.prototype.getBSRadius=function(){return this.bsRadius},i.prototype.getBBMin=function(){return this.bbMin},i.prototype.getBBMax=function(){return this.bbMax},i.prototype.getPrimitiveIndices=function(){return this.primitiveIndices},i.prototype.getIndices=function(){return this.indices},i.prototype.getPosition=function(){return this._position},i.prototype.getChildren=function(){if(this._children)return this._children;if(s.vec3.squaredDistance(this.bbMin,this.bbMax)>1){for(var t=s.vec3.lerp(r.vec3f64.create(),this.bbMin,this.bbMax,.5),e=this.primitiveIndices.length,n=new Uint8Array(e),h=new Array(8),a=0;a<8;++a)h[a]=0;for(var b=this._position,o=b.data,c=b.offsetIdx,d=b.strideIdx,a=0;a<e;++a){for(var u=0,v=this._numIndexPerPrimitive*this.primitiveIndices[a],m=c+d*this.indices[v],p=o[m],M=o[m+1],f=o[m+2],x=1;x<this._numIndexPerPrimitive;++x){m=c+d*this.indices[v+x];var l=o[m],I=o[m+1],P=o[m+2];l<p&&(p=l),I<M&&(M=I),P<f&&(f=P)}p<t[0]&&(u|=1),M<t[1]&&(u|=2),f<t[2]&&(u|=4),n[a]=u,++h[u]}for(var _=0,a=0;a<8;++a)h[a]>0&&++_;if(_<2)return;for(var g=new Array(8),a=0;a<8;++a)g[a]=h[a]>0?new Uint32Array(h[a]):void 0;for(var a=0;a<8;++a)h[a]=0;for(var a=0;a<e;++a){var u=n[a];g[u][h[u]++]=this.primitiveIndices[a]}this._children=new Array(8);for(var a=0;a<8;++a)void 0!==g[a]&&(this._children[a]=new i(g[a],this._numIndexPerPrimitive,this.indices,this._position))}return this._children},i}();return function(i){i.tmpIndices=new e({deallocator:null})}(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\"],function(e,O){Object.defineProperty(O,\"__esModule\",{value:!0}),O.DefaultTextureUnits={DIFFUSE:0,COMPONENT_COLOR:1,NORMAL:2,EMISSION:3,OCCLUSION:4,METALLIC_ROUGHNESS: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\"],function(e,o){Object.defineProperty(o,\"__esModule\",{value:!0}),o.Default3D={position:0,normal:1,normalCompressed:1,uv0:2,color:3,instanceColor:3,size:4,tangent:4,auxpos1:5,symbolColor:5,componentIndex:5,auxpos2:6,featureAttribute:6,instanceFeatureAttribute:6,region:7,model:8,modelNormal:12,modelOriginHi:11,modelOriginLo:15}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\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.Pos3=[{name:\"position\",count:3,type:5126,offset:0,stride:12,normalized:!1}],o.Pos3Tex=[{name:\"position\",count:3,type:5126,offset:0,stride:20,normalized:!1},{name:\"uv0\",count:2,type:5126,offset:12,stride:20,normalized:!1}],o.Pos3NormalTex=[{name:\"position\",count:3,type:5126,offset:0,stride:32,normalized:!1},{name:\"normal\",count:3,type:5126,offset:12,stride:32,normalized:!1},{name:\"uv0\",count:2,type:5126,offset:24,stride:32,normalized:!1}],o.Pos3Col=[{name:\"position\",count:3,type:5126,offset:0,stride:16,normalized:!1},{name:\"color\",count:4,type:5121,offset:12,stride:16,normalized:!1}],o.Pos2=[{name:\"position\",count:2,type:5126,offset:0,stride:8,normalized:!1}],o.Pos2Tex=[{name:\"position\",count:2,type:5126,offset:0,stride:16,normalized:!1},{name:\"uv0\",count:2,type:5126,offset:8,stride:16,normalized:!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\",\"../../../../core/accessorSupport/decorators\",\"./AutoDisposable\"],function(e,t,r,o,i,s){Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(e){function t(t){var r=e.call(this)||this;return r.material=t.material,r.programRep=t.programRep,r.techniqueRep=t.techniqueRep,r}return r(t,e),t.prototype.isVisible=function(){return this.material.isVisible()},t.prototype.isVisibleInPass=function(e){return this.material.isVisibleInPass(e)},t.prototype.getPrograms=function(){return[this.getProgram()]},t.prototype.getDrawMode=function(){return 4},t.prototype.ensureResources=function(e){return 0},t.prototype.ensureAttributeLocations=function(e){this.getProgram().assertCompatibleVertexAttributeLocations(e)},t=o([i.subclass(\"esri.views.3d.webgl-engine.lib.GLMaterial\")],t)}(i.declared(s.AutoDisposable));t.GLMaterial=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/extendsHelper\",\"./DefaultTextureUnits\",\"./GLMaterial\",\"../materials/internal/MaterialUtil\"],function(e,t,r,i,u,n,s){var x=function(e){function t(t){var r=e.call(this,t)||this,i=t.textureRep;r.textureRep=i,r.textureId=t.textureId,r.initTransparent=!!t.initTextureTransparent;var u=function(e){return s.acquireIfNotUndefined(e,i,r.initTransparent)};return r.glTextureRef=u(r.textureId),t.normalTextureId&&(r.glTextureRefNormal=u(t.normalTextureId)),t.emissiveTextureId&&(r.glTextureRefEmission=u(t.emissiveTextureId)),t.occlusionTextureId&&(r.glTextureRefOcclusion=u(t.occlusionTextureId)),t.metallicRoughnessTextureId&&(r.glTextureRefRoughnessMetallness=u(t.metallicRoughnessTextureId)),r}return i(t,e),t.prototype.dispose=function(){s.releaseIfNotUndefined(this.textureId,this.textureRep)},t.prototype.updateTexture=function(e){e!==this.textureId&&(s.releaseIfNotUndefined(this.textureId,this.textureRep),this.textureId=e,this.glTextureRef=s.acquireIfNotUndefined(this.textureId,this.textureRep,this.initTransparent))},t.prototype.bindTexture=function(e,t){null!=this.glTextureRef&&(t.setUniform1i(\"tex\",u.DefaultTextureUnits.DIFFUSE),e.bindTexture(this.glTextureRef.getGLTexture(),u.DefaultTextureUnits.DIFFUSE)),this.glTextureRefNormal&&(t.setUniform1i(\"normalTexture\",u.DefaultTextureUnits.NORMAL),e.bindTexture(this.glTextureRefNormal.getGLTexture(),u.DefaultTextureUnits.NORMAL)),this.glTextureRefEmission&&(t.setUniform1i(\"texEmission\",u.DefaultTextureUnits.EMISSION),e.bindTexture(this.glTextureRefEmission.getGLTexture(),u.DefaultTextureUnits.EMISSION)),this.glTextureRefOcclusion&&(t.setUniform1i(\"texOcclusion\",u.DefaultTextureUnits.OCCLUSION),e.bindTexture(this.glTextureRefOcclusion.getGLTexture(),u.DefaultTextureUnits.OCCLUSION)),this.glTextureRefRoughnessMetallness&&(t.setUniform1i(\"texMetallicRoughness\",u.DefaultTextureUnits.METALLIC_ROUGHNESS),e.bindTexture(this.glTextureRefRoughnessMetallness.getGLTexture(),u.DefaultTextureUnits.METALLIC_ROUGHNESS))},t.prototype.bindTextureScale=function(e,t){var r=this.glTextureRef&&this.glTextureRef.getGLTexture();r&&r.descriptor.textureCoordinateScaleFactor?t.setUniform2fv(\"textureCoordinateScaleFactor\",r.descriptor.textureCoordinateScaleFactor):t.setUniform2f(\"textureCoordinateScaleFactor\",1,1)},t}(n.GLMaterial);return function(e){function t(e,t){return r({},e,t)}e.makeCtorParameters=t}(x||(x={})),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\",\"./BoundingInfo\",\"./ComponentUtils\",\"./geometryDataUtils\",\"./IdGen\",\"./Util\",\"./Util\"],function(t,e,n,o,i,r,a,u){return function(){function t(e,n,o){this.singleUse=!1,this._boundingInfo=null,this._componentAABBs=null,this._id=t.__idGen.gen(n),this._data=e,this._boundingInfo=o}return Object.defineProperty(t.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"data\",{get:function(){return this._data},enumerable:!0,configurable:!0}),t.prototype.getIndices=function(t){return this.data.getIndices(t)},Object.defineProperty(t.prototype,\"indexCount\",{get:function(){return this.data.indexCount},enumerable:!0,configurable:!0}),t.prototype.getAttribute=function(t){return this.data.getAttribute(t)},Object.defineProperty(t.prototype,\"componentCount\",{get:function(){return o.componentCount(this.data.componentOffsets)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"componentOffsets\",{get:function(){return this.data.componentOffsets},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"vertexCount\",{get:function(){return this.data.indexCount},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"faceCount\",{get:function(){return this.data.indexCount/3},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"boundingInfo\",{get:function(){return null==this._boundingInfo&&(this._boundingInfo=this._calculateBoundingInfo()),this._boundingInfo},enumerable:!0,configurable:!0}),t.prototype.computeAttachmentOrigin=function(t){return\"triangle\"===this.data.primitiveType?this.computeAttachmentOriginTriangles(t):this.computeAttachmentOriginPoints(t)},t.prototype.computeAttachmentOriginTriangles=function(t){var e=this.getIndices(u.VertexAttrConstants.POSITION),n=this.getAttribute(u.VertexAttrConstants.POSITION);return i.computeAttachmentOriginTriangles(n,e,t)},t.prototype.computeAttachmentOriginPoints=function(t){var e=this.getIndices(u.VertexAttrConstants.POSITION),n=this.getAttribute(u.VertexAttrConstants.POSITION);return i.computeAttachmentOriginPoints(n,e,t)},t.prototype.invalidateBoundingInfo=function(){this._boundingInfo=null,this._componentAABBs=null},t.prototype.getComponentAABB=function(t,e){null==this._componentAABBs&&(this._componentAABBs=this._computeComponentAABBs());for(var n=0;n<6;n++)e[n]=this._componentAABBs[6*t+n];return e},t.prototype._computeComponentAABBs=function(){for(var t=this.componentCount,e=new Float32Array(6*t),n=0;n<t;n++)this._calculateAABB(n,e,6*n);return e},t.prototype._calculateAABB=function(t,e,n){for(var o=this.data.getIndices(u.VertexAttrConstants.POSITION),i=this.data.getAttribute(u.VertexAttrConstants.POSITION),r=this.data.componentOffsets,a=r.length?r[t]:0,s=r.length?r[t+1]:o.length,c=1/0,p=1/0,d=1/0,f=-1/0,g=-1/0,h=-1/0,l=i.offsetIdx,m=i.strideIdx,A=a;A<s;A++){var b=l+m*o[A],I=i.data[b],O=i.data[b+1],y=i.data[b+2];c=Math.min(c,I),p=Math.min(p,O),d=Math.min(d,y),f=Math.max(f,I),g=Math.max(g,O),h=Math.max(h,y)}e[n]=c,e[n+1]=p,e[n+2]=d,e[n+3]=f,e[n+4]=g,e[n+5]=h},t.prototype._calculateBoundingInfo=function(){var t=this.data.getIndices(u.VertexAttrConstants.POSITION),e=this.data.getAttribute(u.VertexAttrConstants.POSITION),o=\"triangle\"===this.data.primitiveType?3:1;if(0===t.length){t=new Uint32Array(o);for(var r=0;r<o;++r)t[r]=r}var s=t.length;a.assert(s%o==0,\"Indexing error: \"+s.toFixed(0)+\" not divisible by \"+o.toFixed(0));var c=i.generateDefaultIndexArray(s/o);return new n(c,o,t,e)},t.__idGen=new r.IdGen,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\",\"./ComponentUtils\",\"./geometryDataUtils\",\"./Util\"],function(t,e,i,r,n){function s(t){var e=n.getFirstObjectValue(t);return null==e?0:e.data.length/e.size}Object.defineProperty(e,\"__esModule\",{value:!0});var o=function(){function t(e,n,o,a){void 0===n&&(n=t.DefaultIndices),void 0===o&&(o=t.DefaultOffsets),void 0===a&&(a=\"triangle\"),this.preinterleaved=!1;var u={};for(var f in e){var c=e[f],d=c.data,p=c.size;u[f]={data:d,size:p,offsetIdx:0,strideIdx:p}}if(n===t.DefaultIndices){var l=s(u),h=r.generateDefaultIndexArray(l);n={};for(var g in u)n[g]=h}this._id=r.getNewId(),this._vertexAttributes=u,this._indices=n,this._componentOffsets=i.createOffsets(o),this._primitiveType=a}return Object.defineProperty(t.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"vertexAttributes\",{get:function(){return this._vertexAttributes},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"indices\",{get:function(){return this._indices},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"componentOffsets\",{get:function(){return this._componentOffsets},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"indexCount\",{get:function(){var t=n.getFirstObjectValue(this._indices);return null==t?0:t.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"primitiveType\",{get:function(){return this._primitiveType},enumerable:!0,configurable:!0}),t.prototype.getVertexAttr=function(){return this.vertexAttributes},t.prototype.toRenderData=function(){return{id:this._id.toString(),preinterleaved:!1,indices:this._indices,vertexAttr:this._vertexAttributes}},t.prototype.getIndices=function(t){return this._indices[t]},t.prototype.getAttribute=function(t){return this._vertexAttributes[t]},t.prototype.estimateGpuMemoryUsage=function(){var t=0;if(this._indices[n.VertexAttrConstants.POSITION]){var e=3;t+=this._indices[n.VertexAttrConstants.POSITION].length*e*4}if(this._indices[n.VertexAttrConstants.NORMAL]){var e=3;t+=this._indices[n.VertexAttrConstants.NORMAL].length*e*4}if(this._indices[n.VertexAttrConstants.UV0]){var e=2;t+=this._indices[n.VertexAttrConstants.UV0].length*e*4}if(this._indices[n.VertexAttrConstants.COLOR]){var e=1;t+=this._indices[n.VertexAttrConstants.COLOR].length*e*4}return t},t.DefaultIndices={},t.DefaultOffsets=new Uint32Array(0),t}();e.GeometryData=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/ObjectPool\",\"../../../../core/libs/gl-matrix-2/vec3\",\"./IdGen\"],function(t,r,i,n,e){return function(){function t(r,i,n,e,o,a){this.id=t._idGen.gen(r&&r.id),this.geometry=r,this.material=i,this.transformation=n,this.instanceParameters=e,this.origin=o,this.shaderTransformation=a}return t.prototype.getStaticTransformation=function(){return this.transformation},t.prototype.getShaderTransformation=function(){return this.shaderTransformation?this.shaderTransformation(this.transformation):this.transformation},t.prototype.computeAttachmentOrigin=function(t){return!!(this.material.computeAttachmentOrigin?this.material.computeAttachmentOrigin(this.geometry,t):this.geometry.computeAttachmentOrigin(t))&&(n.vec3.transformMat4(t,t,this.getStaticTransformation()),!0)},t._idGen=new e.IdGen,t.pool=new i(t,!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/libs/gl-matrix-2/vec3\",\"../../../../core/libs/gl-matrix-2/vec3f32\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"../../support/geometryUtils\",\"./BufferVectorMath\",\"./GeometryData\",\"./Util\"],function(t,e,r,a,n,o,s,c,v){var l,i=s.Vec3Compact;!function(t){function e(t){Array.isArray(t)||(t=[t,t,t]);for(var e=new Float32Array(24),r=0;r<8;r++)e[3*r]=a[r][0]*t[0],e[3*r+1]=a[r][1]*t[1],e[3*r+2]=a[r][2]*t[2];var i={};i[v.VertexAttrConstants.POSITION]=new Uint32Array(s),i[v.VertexAttrConstants.NORMAL]=new Uint32Array(l),i[v.VertexAttrConstants.UV0]=new Uint32Array(f);var A={};return A[v.VertexAttrConstants.POSITION]={size:3,data:e},A[v.VertexAttrConstants.NORMAL]={size:3,data:new Float32Array(n)},A[v.VertexAttrConstants.UV0]={size:2,data:new Float32Array(o)},new c.GeometryData(A,i)}for(var r=.5,a=[[-r,-r,r],[r,-r,r],[r,r,r],[-r,r,r],[-r,-r,-r],[r,-r,-r],[r,r,-r],[-r,r,-r]],n=[0,0,1,-1,0,0,1,0,0,0,-1,0,0,1,0,0,0,-1],o=[0,0,1,0,1,1,0,1],s=[0,1,2,2,3,0,4,0,3,3,7,4,1,5,6,6,2,1,1,0,4,4,5,1,3,2,6,6,7,3,5,4,7,7,6,5],l=new Array(36),i=0;i<6;i++)for(var A=0;A<6;A++)l[6*i+A]=i;for(var f=new Array(36),i=0;i<6;i++)f[6*i+0]=0,f[6*i+1]=1,f[6*i+2]=2,f[6*i+3]=2,f[6*i+4]=3,f[6*i+5]=0;t.createGeometry=e}(l||(l={}));var A;!function(t){function e(t){Array.isArray(t)||(t=[t,t,t]);for(var e=new Float32Array(18),r=0;r<6;r++)e[3*r]=a[r][0]*t[0],e[3*r+1]=a[r][1]*t[1],e[3*r+2]=a[r][2]*t[2];var l={};l[v.VertexAttrConstants.POSITION]=new Uint32Array(o),l[v.VertexAttrConstants.NORMAL]=new Uint32Array(s);var i={};return i[v.VertexAttrConstants.POSITION]={size:3,data:e},i[v.VertexAttrConstants.NORMAL]={size:3,data:new Float32Array(n)},new c.GeometryData(i,l)}var r=.5,a=[[-r,0,-r],[r,0,-r],[r,0,r],[-r,0,r],[0,-r,0],[0,r,0]],n=[0,1,-1,1,1,0,0,1,1,-1,1,0,0,-1,-1,1,-1,0,0,-1,1,-1,-1,0],o=[5,1,0,5,2,1,5,3,2,5,0,3,4,0,1,4,1,2,4,2,3,4,3,0],s=[0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7];t.createGeometry=e}(A||(A={}));var f;!function(t){function e(t){Array.isArray(t)||(t=[t,t,t]);for(var e=new Float32Array(12),r=0;r<4;r++)e[3*r]=u[r][0]*t[0],e[3*r+1]=u[r][1]*t[1],e[3*r+2]=u[r][2]*t[2];var a={};a[v.VertexAttrConstants.POSITION]=new Uint32Array(O),a[v.VertexAttrConstants.NORMAL]=new Uint32Array(h);var n={};return n[v.VertexAttrConstants.POSITION]={size:3,data:e},n[v.VertexAttrConstants.NORMAL]={size:3,data:new Float32Array(m)},new c.GeometryData(n,a)}var n=.5,o=a.vec3f32.fromValues(-n,0,-n),s=a.vec3f32.fromValues(n,0,-n),l=a.vec3f32.fromValues(0,0,n),i=a.vec3f32.fromValues(0,.5,0),A=a.vec3f32.create(),f=a.vec3f32.create(),y=a.vec3f32.create(),V=a.vec3f32.create(),d=a.vec3f32.create();r.vec3.subtract(A,o,i),r.vec3.subtract(f,o,s),r.vec3.cross(y,A,f),r.vec3.normalize(y,y),r.vec3.subtract(A,s,i),r.vec3.subtract(f,s,l),r.vec3.cross(V,A,f),r.vec3.normalize(V,V),r.vec3.subtract(A,l,i),r.vec3.subtract(f,l,o),r.vec3.cross(d,A,f),r.vec3.normalize(d,d);var u=[o,s,l,i],m=[0,-1,0,y[0],y[1],y[2],V[0],V[1],V[2],d[0],d[1],d[2]],O=[0,1,2,3,1,0,3,2,1,3,0,2],h=[0,0,0,1,1,1,2,2,2,3,3,3];t.createGeometry=e}(f||(f={}));var y;!function(t){function e(t,e,r,a,n,o,s){t=t||50,a=void 0!==a?a:-Math.PI,n=void 0!==n?n:2*Math.PI,o=void 0!==o?o:.5*-Math.PI,s=void 0!==s?s:Math.PI;for(var l=Math.max(3,Math.floor(e)||8),i=Math.max(2,Math.floor(r)||6),A=(l+1)*(i+1),f=new Float32Array(3*A),y=new Float32Array(3*A),V=new Float32Array(2*A),d=[],u=0,m=0;m<=i;m++){for(var O=[],h=m/i,x=o+h*s,C=Math.cos(x),w=0;w<=l;w++){var I=w/l,g=a+I*n,M=Math.cos(g)*C,z=Math.sin(x),N=-Math.sin(g)*C;f[3*u]=M*t,f[3*u+1]=z*t,f[3*u+2]=N*t,y[3*u]=M,y[3*u+1]=z,y[3*u+2]=N,V[2*u]=I,V[2*u+1]=h,O.push(u),++u}d.push(O)}var P=new Uint32Array(2*l*(i-1)*3);u=0;for(var m=0;m<i;m++)for(var w=0;w<l;w++){var U=d[m][w],G=d[m][w+1],F=d[m+1][w+1],S=d[m+1][w];0===m?(P[u++]=U,P[u++]=F,P[u++]=S):m===i-1?(P[u++]=U,P[u++]=G,P[u++]=F):(P[u++]=U,P[u++]=G,P[u++]=F,P[u++]=F,P[u++]=S,P[u++]=U)}v.assert(u===P.length);var p={};p[v.VertexAttrConstants.POSITION]=P,p[v.VertexAttrConstants.NORMAL]=P,p[v.VertexAttrConstants.UV0]=P;var T={};return T[v.VertexAttrConstants.POSITION]={size:3,data:f},T[v.VertexAttrConstants.NORMAL]={size:3,data:y},T[v.VertexAttrConstants.UV0]={size:2,data:V},new c.GeometryData(T,p)}function y(t,e,r){function a(e,r){var a;e>r&&(a=[r,e],e=a[0],r=a[1]);var o=e.toString()+\".\"+r.toString();if(f[o])return f[o];var s=n.length;return n.length+=3,i.add(n,3*e,n,3*r,n,s),i.scale(n,s,t/i.length(n,s)),s/=3,f[o]=s,s}var n,o,s=t;if(r)n=[0,-1,0,1,0,0,0,0,1,-1,0,0,0,0,-1,0,1,0],o=new Uint32Array([0,1,2,0,2,3,0,3,4,0,4,1,1,5,2,2,5,3,3,5,4,4,5,1]);else{var l=s*(1+Math.sqrt(5))/2;n=[-s,l,0,s,l,0,-s,-l,0,s,-l,0,0,-s,l,0,s,l,0,-s,-l,0,s,-l,l,0,-s,l,0,s,-l,0,-s,-l,0,s],o=new Uint32Array([0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1])}for(var A=0;A<n.length;A+=3)i.scale(n,A,t/i.length(n,A));for(var f={},A=0;A<e;A++){for(var y=o.length,V=new Uint32Array(4*y),d=0;d<y;d+=3){var u=o[d],m=o[d+1],O=o[d+2],h=a(u,m),x=a(m,O),C=a(O,u),w=4*d;V[w]=u,V[w+1]=h,V[w+2]=C,V[w+3]=m,V[w+4]=x,V[w+5]=h,V[w+6]=O,V[w+7]=C,V[w+8]=x,V[w+9]=h,V[w+10]=x,V[w+11]=C}o=V,f={}}for(var I=new Float32Array(n),A=0;A<I.length;A+=3)i.normalize(I,A);var g={};g[v.VertexAttrConstants.POSITION]=o,g[v.VertexAttrConstants.NORMAL]=o;var M={};return M[v.VertexAttrConstants.POSITION]={size:3,data:new Float32Array(n)},M[v.VertexAttrConstants.NORMAL]={size:3,data:I},new c.GeometryData(M,g)}function m(t,e,r,a,n,o,s,l){var i=e?new Float64Array([e[0],e[1],e[2]]):new Float32Array([0,0,0]),A=t?new Float32Array([t[0],t[1],t[2]]):new Float32Array([0,0,1]),f=o?new Float32Array(o):new Float32Array([0,0]),y=r?new Uint8Array([255*r[0],255*r[1],255*r[2],r.length>3?255*r[3]:255]):new Uint8Array([255,255,255,255]),V=null!=a&&2===a.length?new Float32Array(a):new Float32Array([1,1]),d={};if(d[v.VertexAttrConstants.POSITION]={size:3,data:i},d[v.VertexAttrConstants.NORMAL]={size:3,data:A},d[v.VertexAttrConstants.UV0]={size:f.length,data:f},d[v.VertexAttrConstants.COLOR]={size:4,data:y},d[v.VertexAttrConstants.SIZE]={size:2,data:V},null!=n){var u=new Float32Array([n[0],n[1],n[2],n[3]]);d[v.VertexAttrConstants.AUXPOS1]={size:4,data:u}}if(null!=s){var m=new Float32Array([s[0],s[1],s[2],s[3]]);d[v.VertexAttrConstants.AUXPOS2]={size:4,data:m}}return null!=l?(c.GeometryData.call(l,d,c.GeometryData.DefaultIndices,c.GeometryData.DefaultOffsets,\"point\"),l):new c.GeometryData(d,c.GeometryData.DefaultIndices,c.GeometryData.DefaultOffsets,\"point\")}function O(t,e,r,a,n,o,s,c){var l=c.vertexAttributes;if(null!=t){var i=l[v.VertexAttrConstants.NORMAL].data;i[0]=t[0],i[1]=t[1],i[2]=t[2]}if(null!=e){var i=l[v.VertexAttrConstants.POSITION].data;i[0]=e[0],i[1]=e[1],i[2]=e[2]}if(null!=r){var i=l[v.VertexAttrConstants.COLOR].data;i[0]=r[0],i[1]=r[1],i[2]=r[2],i[3]=r[3]}if(null!=a){var i=l[v.VertexAttrConstants.SIZE].data;i[0]=a[0],i[1]=a[1]}if(null!=n){var i=l[v.VertexAttrConstants.AUXPOS1].data;i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=n[3]}if(null!=o){var i=l[v.VertexAttrConstants.UV0].data;i[0]=o[0],i[1]=o[1]}if(null!=s){var i=l[v.VertexAttrConstants.AUXPOS2].data;i[0]=s[0],i[1]=s[1],i[2]=s[2],i[3]=s[3]}return c}function h(t,e){for(var r=new Float32Array(3*t.length),a=new Float32Array(e?3*t.length:3),n=new Uint32Array(t.length),o=new Uint32Array(t.length),s=0;s<t.length;s++)r[3*s]=t[s][0],r[3*s+1]=t[s][1],r[3*s+2]=t[s][2],e&&(a[3*s]=e[s][0],a[3*s+1]=e[s][1],a[3*s+2]=e[s][2]),n[s]=s,o[s]=0;e||(a[0]=0,a[1]=1,a[2]=0);var l=new Float32Array(2);l[0]=0,l[1]=0;var i={};i[v.VertexAttrConstants.POSITION]=n,i[v.VertexAttrConstants.NORMAL]=e?n:o,i[v.VertexAttrConstants.UV0]=o;var A={};return A[v.VertexAttrConstants.POSITION]={size:3,data:r},A[v.VertexAttrConstants.NORMAL]={size:3,data:a},A[v.VertexAttrConstants.UV0]={size:2,data:l},new c.GeometryData(A,i,c.GeometryData.DefaultOffsets,\"point\")}function x(){var t=new Float32Array([0,0,0,0,0,100,100,0,0]),e=new Uint32Array([0,1,2]),r=new Float32Array([0,1,0]),a=new Uint32Array([0,0,0]),n=new Float32Array([0,0]),o=new Uint32Array([0,0,0]),s={};s[v.VertexAttrConstants.POSITION]=e,s[v.VertexAttrConstants.NORMAL]=a,s[v.VertexAttrConstants.UV0]=o;var l={};return l[v.VertexAttrConstants.POSITION]={size:3,data:t},l[v.VertexAttrConstants.NORMAL]={size:3,data:r},l[v.VertexAttrConstants.UV0]={size:2,data:n},new c.GeometryData(l,s)}function C(t){var e=new Float32Array(12);if(t)for(var r=0;r<4;r++)for(var a=0;a<3;a++)e[3*r+a]=t[r][a];else e[0]=-1,e[1]=-1,e[2]=0,e[3]=1,e[4]=-1,e[5]=0,e[6]=1,e[7]=1,e[8]=0,e[9]=-1,e[10]=1,e[11]=0;var n=new Uint32Array([0,1,2,2,3,0]),o=new Float32Array([0,0,1]),s=new Uint32Array([0,0,0,0,0,0]),l=new Float32Array([0,0,1,0,1,1,0,1]),i=new Uint8Array([255,255,255,255]),A={};A[v.VertexAttrConstants.POSITION]=n,A[v.VertexAttrConstants.NORMAL]=s,A[v.VertexAttrConstants.UV0]=n,A[v.VertexAttrConstants.COLOR]=s;var f={};return f[v.VertexAttrConstants.POSITION]={size:3,data:e},f[v.VertexAttrConstants.NORMAL]={size:3,data:o},f[v.VertexAttrConstants.UV0]={size:2,data:l},f[v.VertexAttrConstants.COLOR]={size:4,data:i},new c.GeometryData(f,A)}function w(t,e,r,n,o,s){void 0===o&&(o=!0),void 0===s&&(s=!0);var l=0,i=e,A=t,f=a.vec3f32.fromValues(0,l,0),y=a.vec3f32.fromValues(0,l+A,0),V=a.vec3f32.fromValues(0,-1,0),d=a.vec3f32.fromValues(0,1,0);n&&(l=A,y=a.vec3f32.fromValues(0,0,0),f=a.vec3f32.fromValues(0,l,0),V=a.vec3f32.fromValues(0,1,0),d=a.vec3f32.fromValues(0,-1,0));var u=[y,f],m=[V,d],O=r+2,h=Math.sqrt(A*A+i*i);if(n)for(var x=r-1;x>=0;x--){var C=x*(2*Math.PI/r),w=a.vec3f32.fromValues(Math.cos(C)*i,l,Math.sin(C)*i);u.push(w);var I=a.vec3f32.fromValues(A*Math.cos(C)/h,-i/h,A*Math.sin(C)/h);m.push(I)}else for(var x=0;x<r;x++){var C=x*(2*Math.PI/r),w=a.vec3f32.fromValues(Math.cos(C)*i,l,Math.sin(C)*i);u.push(w);var I=a.vec3f32.fromValues(A*Math.cos(C)/h,i/h,A*Math.sin(C)/h);m.push(I)}var g=new Uint32Array(2*(r+2)*3),M=new Uint32Array(2*(r+2)*3),z=0,N=0;if(o){for(var x=3;x<u.length;x++)g[z++]=1,g[z++]=x-1,g[z++]=x,M[N++]=0,M[N++]=0,M[N++]=0;g[z++]=u.length-1,g[z++]=2,g[z++]=1,M[N++]=0,M[N++]=0,M[N++]=0}if(s){for(var x=3;x<u.length;x++)g[z++]=x,g[z++]=x-1,g[z++]=0,M[N++]=x,M[N++]=x-1,M[N++]=1;g[z++]=0,g[z++]=2,g[z++]=u.length-1,M[N++]=1,M[N++]=2,M[N++]=m.length-1}for(var P=new Float32Array(3*O),x=0;x<O;x++)P[3*x]=u[x][0],P[3*x+1]=u[x][1],P[3*x+2]=u[x][2];for(var U=new Float32Array(3*O),x=0;x<O;x++)U[3*x]=m[x][0],U[3*x+1]=m[x][1],U[3*x+2]=m[x][2];var G={};G[v.VertexAttrConstants.POSITION]=g,G[v.VertexAttrConstants.NORMAL]=M;var F={};return F[v.VertexAttrConstants.POSITION]={size:3,data:P},F[v.VertexAttrConstants.NORMAL]={size:3,data:U},new c.GeometryData(F,G)}function I(t,e,n,o,s,l){var i=o?a.vec3f32.clone(o):a.vec3f32.fromValues(1,0,0),A=s?a.vec3f32.clone(s):a.vec3f32.fromValues(0,0,0),f=void 0===l||l,y=a.vec3f32.create();r.vec3.normalize(y,i);var V=a.vec3f32.create();r.vec3.scale(V,y,Math.abs(t));var d=a.vec3f32.create();r.vec3.scale(d,V,-.5),r.vec3.add(d,d,A);var u=a.vec3f32.fromValues(0,1,0);Math.abs(1-r.vec3.dot(y,u))<.2&&r.vec3.set(u,0,0,1);var m=a.vec3f32.create();r.vec3.cross(m,y,u),r.vec3.normalize(m,m),r.vec3.cross(u,m,y);var O=2*n+(f?2:0),h=n+(f?2:0),x=new Float32Array(3*O),C=new Float32Array(3*h),w=new Float32Array(2*O),I=new Uint32Array(3*n*(f?4:2)),g=new Uint32Array(3*n*(f?4:2));f&&(x[3*(O-2)+0]=d[0],x[3*(O-2)+1]=d[1],x[3*(O-2)+2]=d[2],w[2*(O-2)]=0,w[2*(O-2)+1]=0,x[3*(O-1)+0]=x[3*(O-2)+0]+V[0],x[3*(O-1)+1]=x[3*(O-2)+1]+V[1],x[3*(O-1)+2]=x[3*(O-2)+2]+V[2],w[2*(O-1)]=1,w[2*(O-1)+1]=1,C[3*(h-2)+0]=-y[0],C[3*(h-2)+1]=-y[1],C[3*(h-2)+2]=-y[2],C[3*(h-1)+0]=y[0],C[3*(h-1)+1]=y[1],C[3*(h-1)+2]=y[2]);for(var M=function(t,e,r){I[t]=e,g[t]=r},z=0,N=a.vec3f32.create(),P=a.vec3f32.create(),U=0;U<n;U++){var G=U*(2*Math.PI/n);r.vec3.scale(N,u,Math.sin(G)),r.vec3.scale(P,m,Math.cos(G)),r.vec3.add(N,N,P),C[3*U+0]=N[0],C[3*U+1]=N[1],C[3*U+2]=N[2],r.vec3.scale(N,N,e),r.vec3.add(N,N,d),x[3*U+0]=N[0],x[3*U+1]=N[1],x[3*U+2]=N[2],w[2*U+0]=U/n,w[2*U+1]=0,x[3*(U+n)+0]=x[3*U+0]+V[0],x[3*(U+n)+1]=x[3*U+1]+V[1],x[3*(U+n)+2]=x[3*U+2]+V[2],w[2*(U+n)+0]=U/n,w[2*U+1]=1;var F=(U+1)%n;M(z++,U,U),M(z++,U+n,U),M(z++,F,F),M(z++,F,F),M(z++,U+n,U),M(z++,F+n,F)}if(f){for(var U=0;U<n;U++){var F=(U+1)%n;M(z++,O-2,h-2),M(z++,U,h-2),M(z++,F,h-2)}for(var U=0;U<n;U++){var F=(U+1)%n;M(z++,U+n,h-1),M(z++,O-1,h-1),M(z++,F+n,h-1)}}var S={};S[v.VertexAttrConstants.POSITION]=I,S[v.VertexAttrConstants.NORMAL]=g,S[v.VertexAttrConstants.UV0]=I;var p={};return p[v.VertexAttrConstants.POSITION]={size:3,data:x},p[v.VertexAttrConstants.NORMAL]={size:3,data:C},p[v.VertexAttrConstants.UV0]={size:2,data:w},new c.GeometryData(p,S)}function g(e,r,a,n,o){a=a||10,n=null==n||n,v.assert(e.length>1);for(var s=[[0,0,0]],c=[],l=[],i=0;i<a;i++){c.push([0,-i-1,-(i+1)%a-1]);var A=i/a*2*Math.PI;l.push([Math.cos(A)*r,Math.sin(A)*r])}return t.createPathExtrusionGeometry(l,e,s,c,n,o)}function M(t,e,s,l,i,A){void 0===A&&(A=a.vec3f32.fromValues(0,0,0));var f=t.length,y=new Float32Array(e.length*f*3+(6*s.length||0)),d=new Float32Array(e.length*f+(2*s.length||0)),u=new Float32Array(e.length*f*3+(s?6:0)),m=(e.length-1)*f*6+3*l.length*2,O=new Uint32Array(m),h=new Uint32Array(m),x=0,C=0,w=0,I=0,g=0,M=a.vec3f32.create(),z=a.vec3f32.create(),N=a.vec3f32.create(),P=a.vec3f32.create(),U=a.vec3f32.create(),G=a.vec3f32.create(),F=a.vec3f32.create(),S=n.vec3f64.create(),T=a.vec3f32.create(),R=a.vec3f32.create(),L=a.vec3f32.create(),D=a.vec3f32.create(),b=a.vec3f32.create(),E=o.plane.create();r.vec3.set(T,0,1,0),r.vec3.subtract(z,e[1],e[0]),r.vec3.normalize(z,z),i?(r.vec3.add(S,e[0],A),r.vec3.normalize(N,S)):r.vec3.set(N,0,0,1),p(z,N,T,T,U,N,V),r.vec3.copy(P,N),r.vec3.copy(D,U);for(var q=0;q<s.length;q++)r.vec3.scale(G,U,s[q][0]),r.vec3.scale(S,N,s[q][2]),r.vec3.add(G,G,S),r.vec3.add(G,G,e[0]),y[x++]=G[0],y[x++]=G[1],y[x++]=G[2],d[w++]=0;u[C++]=-z[0],u[C++]=-z[1],u[C++]=-z[2];for(var q=0;q<l.length;q++)O[I++]=l[q][0]>0?l[q][0]:-l[q][0]-1+s.length,O[I++]=l[q][1]>0?l[q][1]:-l[q][1]-1+s.length,O[I++]=l[q][2]>0?l[q][2]:-l[q][2]-1+s.length,h[g++]=0,h[g++]=0,h[g++]=0;for(var B=s.length,X=s.length-1,k=0;k<e.length;k++){var Z=!1;if(k>0){r.vec3.copy(M,z),k<e.length-1?(r.vec3.subtract(z,e[k+1],e[k]),r.vec3.normalize(z,z)):Z=!0,r.vec3.add(R,M,z),r.vec3.normalize(R,R),r.vec3.add(L,e[k-1],P),o.plane.fromPositionAndNormal(e[k],R,E);o.plane.intersectRay(E,o.ray.wrap(L,M),S)?(r.vec3.subtract(S,S,e[k]),r.vec3.normalize(N,S),r.vec3.cross(U,R,N),r.vec3.normalize(U,U)):p(R,P,D,T,U,N,V),r.vec3.copy(P,N),r.vec3.copy(D,U)}i&&(r.vec3.add(S,e[k],A),r.vec3.normalize(b,S));for(var j=0;j<f;j++)if(r.vec3.scale(G,U,t[j][0]),r.vec3.scale(S,N,t[j][1]),r.vec3.add(G,G,S),r.vec3.normalize(F,G),u[C++]=F[0],u[C++]=F[1],u[C++]=F[2],d[w++]=i?r.vec3.dot(G,b):G[2],r.vec3.add(G,G,e[k]),y[x++]=G[0],y[x++]=G[1],y[x++]=G[2],!Z){var H=(j+1)%f;O[I++]=B+j,O[I++]=B+f+j,O[I++]=B+H,O[I++]=B+H,O[I++]=B+f+j,O[I++]=B+f+H;for(var J=0;J<6;J++)h[g++]=O[I-6+J]-X}B+=f}for(var K=e[e.length-1],q=0;q<s.length;q++)r.vec3.scale(G,U,s[q][0]),r.vec3.scale(S,N,s[q][1]),r.vec3.add(G,G,S),r.vec3.add(G,G,K),y[x++]=G[0],y[x++]=G[1],y[x++]=G[2],d[w++]=0;var Q=C/3;u[C++]=z[0],u[C++]=z[1],u[C++]=z[2];for(var W=B-f,q=0;q<l.length;q++)O[I++]=l[q][0]>=0?B+l[q][0]:-l[q][0]-1+W,O[I++]=l[q][2]>=0?B+l[q][2]:-l[q][2]-1+W,O[I++]=l[q][1]>=0?B+l[q][1]:-l[q][1]-1+W,h[g++]=Q,h[g++]=Q,h[g++]=Q;var Y={};Y[v.VertexAttrConstants.POSITION]=O,Y[v.VertexAttrConstants.NORMAL]=h;var $={};return $[v.VertexAttrConstants.POSITION]={size:3,data:y},$.zOffset={size:1,data:d},$[v.VertexAttrConstants.NORMAL]={size:3,data:u},new c.GeometryData($,Y)}function z(t,e){v.assert(t.length>1,\"createPolylineGeometry(): polyline needs at least 2 points\"),v.assert(3===t[0].length,\"createPolylineGeometry(): malformed vertex\"),v.assert(void 0===e||e.length===t.length,\"createPolylineGeometry: need same number of points and normals\"),v.assert(void 0===e||3===e[0].length,\"createPolylineGeometry(): malformed normal\");for(var r=new Float32Array(3*t.length),a=new Uint32Array(2*(t.length-1)),n=0,o=0,s=0;s<t.length;s++){for(var l=0;l<3;l++)r[n++]=t[s][l];s>0&&(a[o++]=s-1,a[o++]=s)}var i={},A={};if(i[v.VertexAttrConstants.POSITION]=a,A[v.VertexAttrConstants.POSITION]={size:3,data:r},e){for(var f=new Float32Array(3*e.length),y=0,s=0;s<t.length;s++)for(var l=0;l<3;l++)f[y++]=e[s][l];i[v.VertexAttrConstants.NORMAL]=a,A[v.VertexAttrConstants.NORMAL]={size:3,data:f}}return new c.GeometryData(A,i,c.GeometryData.DefaultOffsets,\"line\")}function N(t,e,r,a){for(var n,o,s=new Float32Array(18),l=[[-e,0,a/2],[r,0,a/2],[0,t,a/2],[-e,0,-a/2],[r,0,-a/2],[0,t,-a/2]],i=[0,1,2,3,0,2,2,5,3,1,4,5,5,2,1,1,0,3,3,4,1,4,3,5],A=0;A<6;A++)s[3*A]=l[A][0],s[3*A+1]=l[A][1],s[3*A+2]=l[A][2];var f=(n={},n[v.VertexAttrConstants.POSITION]=new Uint32Array(i),n),y=(o={},o[v.VertexAttrConstants.POSITION]={size:3,data:s},o);return new c.GeometryData(y,f)}function P(t,e){for(var a=t.vertexAttributes[v.VertexAttrConstants.POSITION].data,n=0;n<a.length;n+=3){var o=a[n],s=a[n+1],c=a[n+2];r.vec3.set(d,o,s,c),r.vec3.transformMat4(d,d,e),a[n]=d[0],a[n+1]=d[1],a[n+2]=d[2]}}function U(t,e){var r=e||[1,1,1,1],a=new Uint8Array(4);a[0]=255*r[0],a[1]=255*r[1],a[2]=255*r[2],a[3]=255*(r.length>3?r[3]:1);var n={},o=t.getVertexAttr();for(var s in o)n[s]=o[s];n[v.VertexAttrConstants.COLOR]={size:4,data:a};var l={};for(var s in t.indices)l[s]=t.indices[s];var i=l[v.VertexAttrConstants.POSITION].length;return l[v.VertexAttrConstants.COLOR]=new Uint32Array(i),t=new c.GeometryData(n,l,t.componentOffsets,t.primitiveType)}function G(t){for(var e=t.getVertexAttr(),a=t.indices,n=s.Vec3Compact.subtract,o=a.position.length/3,c=new Float32Array(3*o),l=e.position.data,i=0,A=a.position,f=new Uint32Array(A.length),y=0;y<A.length;y+=3){n(l,3*A[y],l,3*A[y+2],u,0),n(l,3*A[y],l,3*A[y+1],d,0),r.vec3.cross(d,d,u),r.vec3.normalize(d,d);var V=i/3;c[i++]=d[0],c[i++]=d[1],c[i++]=d[2],f[y]=V,f[y+1]=V,f[y+2]=V}e[v.VertexAttrConstants.NORMAL]={size:3,data:c,offsetIdx:0,strideIdx:3},a[v.VertexAttrConstants.NORMAL]=f}function F(t,e){void 0===e&&(e=t);var r=t.getVertexAttr(),a=r.position.data,n=r.normal.data,o=e.getVertexAttr(),s=o.position.data,c=o.normal.data;if(n)for(var v=0;v<n.length;v+=3){var l=n[v+1];c[v+1]=-n[v+2],c[v+2]=l}if(a)for(var v=0;v<a.length;v+=3){var l=a[v+1];s[v+1]=-a[v+2],s[v+2]=l}return e}function S(t,e,a,n,o){return!(Math.abs(r.vec3.dot(e,t))>o)&&(r.vec3.cross(a,t,e),r.vec3.normalize(a,a),r.vec3.cross(n,a,t),r.vec3.normalize(n,n),!0)}function p(t,e,r,a,n,o,s){return S(t,e,n,o,s)||S(t,r,n,o,s)||S(t,a,n,o,s)}t.createBoxGeometry=l.createGeometry,t.createDiamondGeometry=A.createGeometry,t.createTetrahedronGeometry=f.createGeometry,t.createSphereGeometry=e,t.createPolySphereGeometry=y,t.createPointGeometry=m,t.updatePointGeometry=O,t.createPointArrayGeometry=h,t.createTriangleGeometry=x,t.createSquareGeometry=C,t.createConeGeometry=w,t.createCylinderGeometry=I,t.createTubeGeometry=g,t.createPathExtrusionGeometry=M,t.createPolylineGeometry=z,t.createExtrudedTriangle=N,t.transformInPlace=P,t.addVertexColors=U,t.addNormals=G,t.cgToGIS=F,t.makeOrthoBasisDirUp=S,t.makeOrthoBasisDirUpFallback=p}(y||(y={}));var V=.99619469809,d=a.vec3f32.create(),u=a.vec3f32.create();return 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\",\"./IdGen\"],function(e,n,i){function r(){return t.gen(\"highlight\")}Object.defineProperty(n,\"__esModule\",{value:!0});var t=new i.IdGen;n.generateHighlightId=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});var t=function(){function e(){this._count=0}return e.prototype.gen=function(e){return null==e&&(e=\"a\"),e+\"_\"+this._count++},e}();n.IdGen=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/has\",\"../../../../core/maybe\",\"../../../../core/now\",\"../../../../core/libs/gl-matrix-2/mat4f64\",\"../../../../core/libs/gl-matrix-2/vec3\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"../../support/geometryUtils\",\"./intersectorUtils\"],function(r,e,t,i,s,n,a,o,d,c){var f=t(\"dojo-debug-messages\"),u=1e-5;return function(){function r(r){this.options=new c.IntersectorOptions,this.results=new c.IntersectorResults,this.transform=new c.IntersectorTransform,this.performanceInfo={queryDuration:0,numObjectsTested:0},this.tolerance=u,this._ray={origin:o.vec3f64.create(),direction:o.vec3f64.create()},this._rayEndPoint=o.vec3f64.create(),this._rayStartPointTransformed=o.vec3f64.create(),this._rayEndPointTransformed=o.vec3f64.create(),this.viewingMode=r||\"global\"}return Object.defineProperty(r.prototype,\"ray\",{get:function(){return this._ray},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"rayBeginPoint\",{get:function(){return this._ray.origin},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"rayEndPoint\",{get:function(){return this._rayEndPoint},enumerable:!0,configurable:!0}),r.prototype.reset=function(r,e){this.resetWithRay(d.ray.fromPoints(r,e,this._ray))},r.prototype.resetWithRay=function(r){r!==this._ray&&d.ray.copy(r,this._ray),a.vec3.add(this._rayEndPoint,this._ray.origin,this._ray.direction),this._numObjectsTested=0,this.results.init(this._ray)},r.prototype.intersect=function(r,e,t,n,a,o){var d=this;this.point=e,this.camera=t,this.filterPredicate=a,this.tolerance=null==n?u:n;var c,l=i.isSome(this.options.verticalOffset)?this.options.verticalOffset.object3D:null;f&&(c=s());var y=o?function(r){o(r)&&d.intersectObject(r)}:function(r){d.intersectObject(r)};if(r&&r.length>0)for(var h=0,m=r;h<m.length;h++){var p=m[h],v=p.getSpatialQueryAccelerator?p.getSpatialQueryAccelerator():void 0;if(v)l?v.forEachAlongRayWithVerticalOffset(this._ray.origin,this._ray.direction,y,l):v.forEachAlongRay(this._ray.origin,this._ray.direction,y),this.options.selectionMode&&this.options.hud&&v.forEachDegenerateObject(y);else for(var g=p.getObjects(),_=0,O=g;_<O.length;_++){var b=O[_];y(b)}}this.sortResults(),f&&(this.performanceInfo.queryDuration=s()-c,this.performanceInfo.numObjectsTested=this._numObjectsTested)},r.prototype.intersectObject=function(r){var e=this;this._numObjectsTested++;var t=r.geometryRecords;if(t)for(var s,o=r.id,d=r.objectTransformation,f=i.isSome(this.options.verticalOffset)?this.options.verticalOffset.object3D:null,u=this,l=0,y=t;l<y.length;l++){var h=y[l];!function(t){var l=t.geometry,y=t.material,h=t.instanceParameters;if(h.hidden)return\"continue\";s=l.id,u.transform.setAndInvalidateLazyTransforms(d,t.getShaderTransformation()),a.vec3.transformMat4(u._rayStartPointTransformed,u._ray.origin,u.transform.inverse),a.vec3.transformMat4(u._rayEndPointTransformed,u._rayEndPoint,u.transform.inverse);var m=u.transform.transform;i.isSome(f)&&(f.objectTransform=u.transform),y.intersect(l,h,u.transform.transform,u,u._rayStartPointTransformed,u._rayEndPointTransformed,function(t,i,a,d,f,u){if(t>=0){if(null!=e.filterPredicate&&!e.filterPredicate(e._ray.origin,e._rayEndPoint,t))return;if(f)return void((null==e.results.hud.dist||t<e.results.hud.dist)&&e.results.hud.set(r,o,t,i,n.mat4f64.IDENTITY,d,u,s,a));var l=function(e){return e.set(r,o,t,i,m,d,null,s,a)};if((null==e.results.min.drapedLayerOrder||d>=e.results.min.drapedLayerOrder)&&(null==e.results.min.dist||t<e.results.min.dist)&&l(e.results.min),0!==e.options.store&&(null==e.results.max.drapedLayerOrder||d<e.results.max.drapedLayerOrder)&&(null==e.results.max.dist||t>e.results.max.dist)&&l(e.results.max),2===e.options.store){var y=new c.IntersectorResult(e._ray);l(y),e.results.all.push(y)}}},t.shaderTransformation)}(h)}},r.prototype.sortResults=function(){this.results.all.sort(function(r,e){return r.dist!==e.dist?r.dist-e.dist:r.drapedLayerOrder!==e.drapedLayerOrder?(void 0!==r.drapedLayerOrder?r.drapedLayerOrder:Number.MAX_VALUE)-(void 0!==e.drapedLayerOrder?e.drapedLayerOrder:Number.MAX_VALUE):(void 0!==e.drapedLayerGraphicOrder?e.drapedLayerGraphicOrder:Number.MIN_VALUE)-(void 0!==r.drapedLayerGraphicOrder?r.drapedLayerGraphicOrder:Number.MIN_VALUE)})},r.DEFAULT_TOLERANCE=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\"],function(r,n){return function(){function r(){}return r.copyIntervals=function(r){for(var n=[],t=0;t<r.length;t++){var e=r[t];n.push([e[0],e[1]])}return n},r.convertFaceToIndexRange=function(r,n){for(var t=0;t<r.length;t++){var e=r[t];e[0]=e[0]*n,e[1]=e[1]*n+(n-1)}},r.sortIntervals=function(r){return r.sort(function(r,n){return r[0]===n[0]?r[1]>n[1]?1:r[1]<n[1]?-1:0:r[0]>n[0]?1:r[0]<n[0]?-1:0})},r.intersectIntervals=function(r,n){if(r.length<=0)return[];for(var t=[],e=0;e<r.length;e++){var u=r[e];if(!(u[1]<n[0]||u[0]>n[1])){var o=[u[0],u[1]];o[0]<n[0]&&(o[0]=n[0]),o[1]>n[1]&&(o[1]=n[1]),t.push(o)}}return t},r.mergeIntervals=function(r){if(r.length<=0)return[];var n=[];r=this.sortIntervals(r),n.push(r[0]);for(var t=1;t<r.length;t++){var e=n[n.length-1];e[1]+1<r[t][0]?n.push(r[t]):e[1]<r[t][1]&&(e[1]=r[t][1],n.pop(),n.push(e))}return n},r.invertIntervals=function(r,n){for(var t=[],e=0,u=0;u<r.length;u++){var o=r[u];o[0]>e&&t.push([e,o[0]-1]),e=o[1]+1}return e<=n&&t.push([e,n]),t},r.offsetIntervals=function(r,n){for(var t=[],e=0;e<r.length;e++){var u=r[e];t.push([u[0]+n,u[1]+n])}return t},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/arrayUtils\",\"../../../../core/Evented\",\"../../../../core/libs/gl-matrix-2/vec3\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"./IdGen\",\"./Octree\"],function(t,e,i,r,n,o,a,s,c){return function(t){function e(i,r,n){var o=t.call(this)||this;return o._parentStages=new Map,o._children=new Set,o.id=e._idGen.gen(i),o.apiLayerUid=n,o.name=i,r=r||{},o.group=r.group||\"\",o.isVisible=null==r.isVisible||r.isVisible,o.isPickable=null==r.isPickable||r.isPickable,o.isSliceable=!1,o.translation=r.translation?a.vec3f64.clone(r.translation):a.vec3f64.create(),o._extent=[a.vec3f64.fromValues(0,0,0),a.vec3f64.fromValues(1e3,1e3,1e3)],o._extentDirty=!0,o}return i(e,t),e.prototype.addParentStage=function(t){if(!this._parentStages.has(t)){var e=this.on(\"dirty\",function(e){t.notifyDirty(e.origin,e.dirtyType,e.subObject)});this._parentStages.set(t,e)}},e.prototype.removeParentStage=function(t){var e=this._parentStages.get(t);e&&(e.remove(),this._parentStages.delete(t)),this.invalidateSpatialQueryAccelerator()},e.prototype.getName=function(){return this.name},e.prototype.getGroup=function(){return this.group},e.prototype.getTranslation=function(){return this.translation},e.prototype.getObjectIds=function(){return r.keysOfSet(this._children,function(t){return t.id})},e.prototype.getObjects=function(){return r.keysOfSet(this._children)},e.prototype.getExtent=function(){return this._updateExtent(),this._extent},e.prototype.addObject=function(t){this._children.add(t),t.parentLayer=this,this.notifyDirty(\"layerObjectAdded\",t),this._invalidateExtent(),this._octree&&this._octree.add(t)},e.prototype.hasObject=function(t){return this._children.has(t)},e.prototype.removeObject=function(t){return!!this._children.delete(t)&&(t.parentLayer=null,this.notifyDirty(\"layerObjectRemoved\",t),this._invalidateExtent(),this._octree&&this._octree.remove(t),!0)},e.prototype.notifyObjectBBChanged=function(t,e){this._octree&&this._octree.update(t,e)},e.prototype.getCenter=function(){this._updateExtent();var t=a.vec3f64.create();return o.vec3.lerp(t,this._extent[0],this._extent[1],.5)},e.prototype.getBSRadius=function(){return this._updateExtent(),.5*o.vec3.distance(this._extent[0],this._extent[1])},e.prototype.getSpatialQueryAccelerator=function(){return!this._octree&&this._children.size>50&&this._createOctree(),this._octree},e.prototype.shaderTransformationChanged=function(){this.notifyDirty(\"shaderTransformationChanged\",null)},e.prototype.invalidateSpatialQueryAccelerator=function(){this._octree&&(this._octree.destroy(),this._octree=null)},e.prototype.notifyDirty=function(t,e,i,r){i=i||0;var n=r||this,o={origin:n,dirtyType:t,subObject:e};this.emit(\"dirty\",o)},e.prototype._createOctree=function(){for(var t=this.getExtent(),e=0,i=0;i<3;i++)e=Math.max(e,t[1][i]-t[0][i]);var n=a.vec3f64.create();o.vec3.lerp(n,t[0],t[1],.5),this._octree=new c(n,1.2*e,{getRadius:function(t){return t.getBSRadius()},getCenter:function(t){return t.getCenter()}}),this._octree.add(r.keysOfSet(this._children))},e.prototype._invalidateExtent=function(){this._extentDirty=!0},e.prototype._updateExtent=function(){var t=this;if(this._extentDirty){if(this._extentDirty=!1,0===this._children.size)return void(this._extent=[[0,0,0],[0,0,0]]);var e=null;this._children.forEach(function(i){var r=i.getBBMin(),n=i.getBBMax();if(e)for(var o=0;o<3;++o)t._extent[0][o]=Math.min(t._extent[0][o],r[o]),t._extent[1][o]=Math.max(t._extent[1][o],n[o]);else e=[a.vec3f64.clone(r),a.vec3f64.clone(n)]}),this._extent=e}},e._idGen=new s.IdGen,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\",\"./IdGen\"],function(e,t,r){Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(t){this.supportsEdges=!1,this._parentStage=null,this._visible=!0,this._renderOccluded=1,this._renderPriority=0,this.id=e._idGen.gen(t)}return e.prototype.update=function(e){return!1},Object.defineProperty(e.prototype,\"parentStage\",{get:function(){return this._parentStage},enumerable:!0,configurable:!0}),e.prototype.addParentStage=function(e){this._parentStage=e},e.prototype.removeParentStage=function(){this._parentStage=null},Object.defineProperty(e.prototype,\"visible\",{get:function(){return this._visible},set:function(e){e!==this._visible&&(this._visible=e,this.notifyDirty(\"matChanged\"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"renderOccluded\",{get:function(){return this._renderOccluded},set:function(e){e!==this._renderOccluded&&(this._renderOccluded=e,this.notifyDirty(\"matChanged\"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"renderPriority\",{get:function(){return this._renderPriority},set:function(e){e!==this._renderPriority&&(this._renderPriority=e,this.notifyDirty(\"matChanged\"))},enumerable:!0,configurable:!0}),e.prototype.isVisibleInPass=function(e){return!0},e.prototype.isVisible=function(){return this._visible},e.prototype.notifyDirty=function(e){this.parentStage&&this.parentStage.notifyDirty(this,e)},e._idGen=new r.IdGen,e}();t.Material=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/libs/gl-matrix-2/mat4\",\"../../../../core/libs/gl-matrix-2/mat4f64\",\"../../../../core/libs/gl-matrix-2/vec3\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"../../support/mathUtils\",\"./ComponentUtils\",\"./GeometryRecord\",\"./HighlightUtils\",\"./IdGen\",\"./Util\"],function(t,e,i,o,n,r,s,a,l,m,h,c,p){var d=p.assert,b=function(){function t(e){void 0===e&&(e={}),this._objectTransformation=n.mat4f64.create(),this._bvObjectSpace=new g,this._bvWorldSpace=new g,this._bvDirty=!0,this._hasVolatileTransformation=!1,this._allComponentsHiddenDirty=!0,this._allComponentsVisibleDirty=!0,this.id=t._idGen.gen(e.idHint),this.castShadow=null==e.castShadow||e.castShadow,this.metadata=e.metadata,this.metadata&&this.metadata.isElevationSource&&(this.metadata.lastValidElevationBB=new u),this.objectTransformation=n.mat4f64.create(),this._initializeGeometryRecords(e.geometries,e.materials,e.transformations,e.origins)}return Object.defineProperty(t.prototype,\"geometryRecords\",{get:function(){return this._geometryRecords},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"geometries\",{get:function(){return this._geometries},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"objectTransformation\",{get:function(){return this._objectTransformation},set:function(t){o.mat4.copy(this._objectTransformation,t),this._invalidateBoundingVolume(),this._notifyDirty(\"objTransformation\")},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){for(var t=0,e=this._geometryRecords;t<e.length;t++){var i=e[t];m.pool.release(i)}this._geometryRecords=null,this._geometries=null},t.prototype._initializeGeometryRecords=function(t,e,i,o){if(!Array.isArray(t))return this._geometryRecords=[],void(this._geometries=[]);d(e.length===t.length,\"Object3D: materials don't match geometries\"),d(i.length===t.length,\"Object3D: transformations don't match geometries\"),this._geometryRecords=new Array(t.length),this._geometries=t.slice();for(var r=0;r<t.length;r++){var s={};this._geometryRecords[r]=m.pool.acquire(t[r],e[r],n.mat4f64.clone(i[r]),s,o&&o[r])}this._hasVolatileTransformation=!1},Object.defineProperty(t.prototype,\"parentLayer\",{get:function(){return this._parentLayer},set:function(t){d(null==this._parentLayer||null==t,\"Object3D can only be added to a single Layer\"),this._parentLayer=t},enumerable:!0,configurable:!0}),t.prototype.getNumGeometryRecords=function(){return this._geometryRecords.length},t.prototype.findGeometryRecords=function(t){for(var e=[],i=0;i<this._geometries.length;i++)this._geometries[i]===t&&e.push(this._geometryRecords[i]);return e},t.prototype.getGeometryRecord=function(t){return d(t>=0&&t<this._geometryRecords.length,\"Object3d.getGeometryDataByIndex: index out of range\"),this._geometryRecords[t]},t.prototype.addGeometry=function(t,e,i,o,r,s){i=i?n.mat4f64.clone(i):n.mat4f64.IDENTITY,this._geometries.push(t);var a=m.pool.acquire(t,e,i,o||{},r,s);return this._geometryRecords.push(a),this._hasVolatileTransformation=this._geometryRecords.some(function(t){return!!t.shaderTransformation}),this._notifyDirty(\"objGeometryAdded\",a),this._invalidateBoundingVolume(),this._allComponentsHiddenDirty=!0,this._allComponentsVisibleDirty=!0,a},t.prototype.removeGeometry=function(t){var e=this._geometryRecords.splice(t,1)[0];return m.pool.release(e),this._hasVolatileTransformation=this._geometryRecords.some(function(t){return!!t.shaderTransformation}),this._geometries.splice(t,1),this._notifyDirty(\"objGeometryRemoved\",e),this._invalidateBoundingVolume(),this._allComponentsHiddenDirty=!0,this._allComponentsVisibleDirty=!0,e},t.prototype.removeAllGeometries=function(){for(;this.getNumGeometryRecords()>0;)this.removeGeometry(0)},t.prototype.geometryVertexAttrsUpdated=function(t){this._notifyDirty(\"vertexAttrsUpdated\",this._geometryRecords[t]),this._invalidateBoundingVolume()},t.prototype.areAllComponentsHidden=function(){if(this._allComponentsHiddenDirty){this._allComponentsHiddenDirty=!1,this._allComponentsHidden=!0;for(var t=0,e=this._geometryRecords;t<e.length;t++){var i=e[t],o=i.instanceParameters.componentVisibilities,n=i.geometry.data.componentOffsets;if(!l.isAllHidden(o,n)){this._allComponentsHidden=!1;break}}}return this._allComponentsHidden},t.prototype.areAllComponentsVisible=function(){if(this._allComponentsVisibleDirty){this._allComponentsVisibleDirty=!1,this._allComponentsVisible=!0;for(var t=0,e=this._geometryRecords;t<e.length;t++){var i=e[t],o=i.instanceParameters.componentVisibilities,n=i.geometry.data.componentOffsets;if(!l.isAllVisible(o,n)){this._allComponentsVisible=!1;break}}}return this._allComponentsVisible},t.prototype.hasComponents=function(){for(var t=!1,e=0;e<this._geometries.length;e++){var i=this._geometries[e];if(t=l.hasComponents(i.data.componentOffsets))break}return t},t.prototype.setComponentVisibility=function(t,e,i){var o=t.geometry,n=t.instanceParameters.componentVisibilities,r=o.data.componentOffsets,s=l.updateVisibility(n,r,e,i);t.instanceParameters.componentVisibilities=s,this._notifyDirty(\"visibilityChanged\",t),this._allComponentsHiddenDirty=!0,this._allComponentsVisibleDirty=!0},t.prototype.setHidden=function(t,e){t.instanceParameters.hidden=!!e,this._notifyDirty(\"visibilityChanged\",t)},t.prototype.isHidden=function(t){return!!t.instanceParameters.hidden},t.prototype.getComponentVisibility=function(t,e){var i=t.instanceParameters.componentVisibilities;return l.getVisibility(i,e)},t.prototype.hideAllComponents=function(){if(this._allComponentsHiddenDirty||!this._allComponentsHidden){for(var t=0,e=this._geometryRecords;t<e.length;t++){var i=e[t],o=i.instanceParameters.componentVisibilities,n=l.hideAllComponents(o);i.instanceParameters.componentVisibilities=n}this._notifyDirty(\"visibilityChanged\"),this._allComponentsHiddenDirty=!1,this._allComponentsVisibleDirty=!1,this._allComponentsHidden=!0,this._allComponentsVisible=!1}},t.prototype.unhideAllComponents=function(){if(this._allComponentsVisibleDirty||!this._allComponentsVisible){for(var t=0,e=this._geometryRecords;t<e.length;t++){var i=e[t],o=i.instanceParameters.componentVisibilities,n=l.unhideAllComponents(o);i.instanceParameters.componentVisibilities=n}this._notifyDirty(\"visibilityChanged\"),this._allComponentsHiddenDirty=!1,this._allComponentsVisibleDirty=!1,this._allComponentsHidden=!1,this._allComponentsVisible=!0}},t.prototype._setComponentHighlight=function(t,e,i,o){var n=t.instanceParameters.componentHighlights,r=l.addHighlight(n,e,i,o);t.instanceParameters.componentHighlights=r},t.prototype.setComponentHighlight=function(t,e,i){var o=h.generateHighlightId();return this._setComponentHighlight(t,e,i,o),this._notifyDirty(\"componentHighlightChanged\"),o},t.prototype.highlightAllComponents=function(t){for(var e=h.generateHighlightId(),i=0,o=this._geometryRecords;i<o.length;i++){var n=o[i];this._setComponentHighlight(n,null,t,e)}return this._notifyDirty(\"componentHighlightChanged\"),e},t.prototype.removeHighlights=function(t){for(var e=0,i=this._geometryRecords;e<i.length;e++){var o=i[e],n=o.instanceParameters,r=n.componentHighlights,s=l.removeHighlight(r,t);n.componentHighlights=s}this._notifyDirty(\"componentHighlightChanged\")},t.prototype.getComponentFromTriangleNr=function(t,e){d(t>=0&&t<this._geometryRecords.length,\"Object3d.getComponentFromTriangleNr: index out of range\");var i=this._geometryRecords[t],o=i.geometry.data.componentOffsets;return l.componentFind(o,3*e)},t.prototype.setGeometryTransformation=function(t,e){d(t>=0&&t<this._geometryRecords.length,\"Object3d.setGeometryTransformation: index out of range\");var i=this._geometryRecords[t];m.pool.release(i);var o=m.pool.acquire(i.geometry,i.material,n.mat4f64.clone(e),i.instanceParameters);this._geometryRecords[t]=o,this._notifyDirty(\"objGeometryReplaced\",[i,o]),this._invalidateBoundingVolume()},t.prototype.getCombinedStaticTransformation=function(t,e){return e=e||n.mat4f64.create(),o.mat4.multiply(e,this.objectTransformation,t.getStaticTransformation()),e},t.prototype.getCombinedShaderTransformation=function(t,e){return e=e||n.mat4f64.create(),o.mat4.multiply(e,this.objectTransformation,t.getShaderTransformation()),e},t.prototype.hasVolativeTransformation=function(){return this._hasVolatileTransformation},t.prototype.getMetadata=function(){return this.metadata},t.prototype.getBBMin=function(t){return this._validateBoundingVolume(),t?this._bvObjectSpace.bbMin:this._bvWorldSpace.bbMin},t.prototype.getBBMax=function(t){return this._validateBoundingVolume(),t?this._bvObjectSpace.bbMax:this._bvWorldSpace.bbMax},t.prototype.getCenter=function(t){return this._validateBoundingVolume(),t?this._bvObjectSpace.center:this._bvWorldSpace.center},t.prototype.getBSRadius=function(t){return this._validateBoundingVolume(),t?this._bvObjectSpace.bsRadius:this._bvWorldSpace.bsRadius},t.prototype._validateBoundingVolume=function(){if(this._bvDirty||this._hasVolatileTransformation){this._bvObjectSpace.init(),this._bvWorldSpace.init();for(var t=0;t<this._geometryRecords.length;++t){var e=this._geometries[t],i=this._geometryRecords[t],o=e.boundingInfo;this._calculateTransformedBoundingVolume(o,this._bvObjectSpace,i.getShaderTransformation()),this._calculateTransformedBoundingVolume(o,this._bvWorldSpace,this.getCombinedShaderTransformation(i))}r.vec3.lerp(this._bvObjectSpace.center,this._bvObjectSpace.bbMin,this._bvObjectSpace.bbMax,.5),r.vec3.lerp(this._bvWorldSpace.center,this._bvWorldSpace.bbMin,this._bvWorldSpace.bbMax,.5);for(var n=s.vec3f64.create(),l=s.vec3f64.create(),m=a.maxScale(this.objectTransformation),t=0;t<this._geometryRecords.length;++t){var e=this._geometries[t],h=this._geometryRecords[t].getShaderTransformation(),c=a.maxScale(h),o=e.boundingInfo;r.vec3.transformMat4(n,o.getCenter(),h);var p=r.vec3.distance(n,this._bvObjectSpace.center),d=o.getBSRadius()*c;this._bvObjectSpace.bsRadius=Math.max(this._bvObjectSpace.bsRadius,p+d),r.vec3.transformMat4(l,n,this.objectTransformation);var b=r.vec3.distance(l,this._bvWorldSpace.center),u=d*m;this._bvWorldSpace.bsRadius=Math.max(this._bvWorldSpace.bsRadius,b+u)}this._bvDirty=!1}},t.prototype._calculateTransformedBoundingVolume=function(t,e,i){var o=t.getBBMin(),n=t.getBBMax(),a=s.vec3f64.clone(o),l=s.vec3f64.clone(n);r.vec3.transformMat4(a,a,i),r.vec3.transformMat4(l,l,i);for(var m=0;m<3;++m)e.bbMin[m]=Math.min(e.bbMin[m],a[m],l[m]),e.bbMax[m]=Math.max(e.bbMax[m],a[m],l[m]);for(var m=0;m<3;++m){r.vec3.copy(a,o),r.vec3.copy(l,n),a[m]=n[m],l[m]=o[m],r.vec3.transformMat4(a,a,i),r.vec3.transformMat4(l,l,i);for(var h=0;h<3;++h)e.bbMin[h]=Math.min(e.bbMin[h],a[h],l[h]),e.bbMax[h]=Math.max(e.bbMax[h],a[h],l[h])}},t.prototype._invalidateBoundingVolume=function(){this._bvDirty=!0,this._parentLayer&&this._parentLayer.notifyObjectBBChanged(this,{center:this._bvWorldSpace.center,radius:this._bvWorldSpace.bsRadius})},t.prototype._notifyDirty=function(t,e,i,o){if(this._parentLayer){i=i||1;var n=o||this;this._parentLayer.notifyDirty(t,e,i,n)}},Object.defineProperty(t.prototype,\"test\",{get:function(){var t=this;return{hasGeometry:function(e){return t._geometries.indexOf(e)>-1},getGeometryIndex:function(e){return t._geometries.indexOf(e)}}},enumerable:!0,configurable:!0}),t._idGen=new c.IdGen,t}(),u=function(){function t(){this.bbMin=s.vec3f64.fromValues(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this.bbMax=s.vec3f64.fromValues(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE)}return t.prototype.isEmpty=function(){return this.bbMax[0]<this.bbMin[0]&&this.bbMax[1]<this.bbMin[1]&&this.bbMax[2]<this.bbMin[2]},t}(),g=function(t){function e(){var e=t.call(this)||this;return e.center=s.vec3f64.create(),e.bsRadius=0,e}return i(e,t),e.prototype.init=function(){r.vec3.set(this.bbMin,Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),r.vec3.set(this.bbMax,-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),r.vec3.set(this.center,0,0,0),this.bsRadius=0},e.prototype.getCenter=function(){return this.center},e.prototype.getBSRadius=function(){return this.bsRadius},e}(u);return 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/ObjectPool\",\"../../../../core/PooledArray\",\"../../../../core/libs/gl-matrix-2/vec3\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"../../support/geometryUtils\",\"./Util\"],function(e,t,r,n,i,o,a,s){function c(e,t,r){e[0]=Math.min(e[0],t[0]-r),e[1]=Math.min(e[1],t[1]-r),e[2]=Math.min(e[2],t[2]-r)}function u(e,t,r){e[0]=Math.max(e[0],t[0]+r),e[1]=Math.max(e[1],t[1]+r),e[2]=Math.max(e[2],t[2]+r)}function h(e,t,r){return r=r||e,r[0]=e[0]+t,r[1]=e[1]+t,r[2]=e[2]+t,r}function f(e,t,r){return!a.frustum.intersectsSphere(r.planes,a.sphere.wrap(t,e))}function d(e,t,r){if(!V.length)for(var n=0;n<8;++n)V.push({index:0,distance:0});for(var n=0;n<8;++n){var i=v[n];V.data[n].index=n,V.data[n].distance=p(e,t,i)}V.sort(function(e,t){return e.distance-t.distance}),r.clear();for(var n=0;n<8;++n)r.push(V.data[n].index)}function l(e,t){for(var r=1/0,n=null,i=0;i<8;++i){var o=p(e,t,g[i]);o<r&&(r=o,n=g[i])}return n}function p(e,t,r){return t*(e[0]*r[0]+e[1]*r[1]+e[2]*r[2])}var _=function(){function e(e,t,r,n){this._maximumObjectsPerNode=10,this._maximumDepth=20,this._degenerateObjects=new Set,this._objectCount=0,this._objectToBoundingSphere=r,n&&(void 0!==n.maximumObjectsPerNode&&(this._maximumObjectsPerNode=n.maximumObjectsPerNode),void 0!==n.maximumDepth&&(this._maximumDepth=n.maximumDepth)),isNaN(e[0])||isNaN(e[1])||isNaN(e[2])||isNaN(t)?this._root=new m(null,o.vec3f64.fromValues(0,0,0),.5):this._root=new m(null,e,t/2)}return Object.defineProperty(e.prototype,\"center\",{get:function(){return this._root.center},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"size\",{get:function(){return 2*this._root.halfSize},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"root\",{get:function(){return this._root.node},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"maximumObjectsPerNode\",{get:function(){return this._maximumObjectsPerNode},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"maximumDepth\",{get:function(){return this._maximumDepth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"objectCount\",{get:function(){return this._objectCount},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._degenerateObjects.clear(),this._root=null,m.clearPool(),y=[null],N.prune(),V.prune(),D.prune()},e.prototype.add=function(e,t){var r=this._objectOrObjectsArray(e);t=null==t?r.length:t,this._objectCount+=t,this._grow(r,t);for(var n=m.acquire(),i=0;i<t;i++){var o=r[i];n.init(this._root),this._isDegenerate(o)?this._degenerateObjects.add(o):this._add(o,n)}m.release(n)},e.prototype.remove=function(e,t){var r=this._objectOrObjectsArray(e);this._objectCount-=r.length;for(var n=m.acquire(),i=0;i<r.length;i++){var o=r[i],a=t||this._boundingSphereFromObject(o,E);this._isValidRadius(a.radius)?(n.init(this._root),this._remove(o,a,n)):this._degenerateObjects.delete(o)}m.release(n),this._shrink()},e.prototype.update=function(e,t){!this._isValidRadius(t.radius)&&this._isDegenerate(e)||(this.remove(e,t),this.add(e))},e.prototype.forEachAlongRay=function(e,t,r){var n=this,i=a.ray.wrap(e,t);this._forEachNode(this._root,function(e){if(!n._intersectsNode(i,e))return!1;var t=e.node;return t.terminals.forEach(function(e){n._intersectsObject(i,e)&&r(e)}),null!==t.residents&&t.residents.forEach(function(e){n._intersectsObject(i,e)&&r(e)}),!0})},e.prototype.forEachAlongRayWithVerticalOffset=function(e,t,r,n){var i=this,o=a.ray.wrap(e,t);this._forEachNode(this._root,function(e){if(!i._intersectsNodeWithOffset(o,e,n))return!1;var t=e.node;return t.terminals.forEach(function(e){i._intersectsObjectWithOffset(o,e,n)&&r(e)}),null!==t.residents&&t.residents.forEach(function(e){i._intersectsObjectWithOffset(o,e,n)&&r(e)}),!0})},e.prototype.forEach=function(e){this._forEachNode(this._root,function(t){var r=t.node;return r.terminals.forEach(e),null!==r.residents&&r.residents.forEach(e),!0}),this._degenerateObjects.forEach(e)},e.prototype.forEachDegenerateObject=function(e){this._degenerateObjects.forEach(e)},e.prototype.findClosest=function(e,t,r,n,i){return this._findClosest(e,\"front-to-back\"===t?1:-1,r,n,i)},e.prototype.forEachInDepthRange=function(e,t,r,n,i,o,a,s){this._forEachInDepthRange(e,t,\"front-to-back\"===r?1:-1,n,i,o,a,s)},e.prototype.forEachNode=function(e){this._forEachNode(this._root,function(t){return e(t.node,t.center,2*t.halfSize)})},e.prototype._intersectsNode=function(e,t){return h(t.center,2*-t.halfSize,O),h(t.center,2*t.halfSize,x),s.rayBoxTest(e.origin,e.direction,O,x)},e.prototype._intersectsNodeWithOffset=function(e,t,r){return h(t.center,2*-t.halfSize,O),h(t.center,2*t.halfSize,x),r.applyToMinMax(O,x),s.rayBoxTest(e.origin,e.direction,O,x)},e.prototype._intersectsObject=function(e,t){var r=this._objectToBoundingSphere.getRadius(t);return!(r>0)||a.sphere.intersectsRay(a.sphere.wrap(r,this._objectToBoundingSphere.getCenter(t)),e)},e.prototype._intersectsObjectWithOffset=function(e,t,r){var n=this._objectToBoundingSphere.getRadius(t);return!(n>0)||a.sphere.intersectsRay(r.applyToBoundingSphere(n,this._objectToBoundingSphere.getCenter(t)),e)},e.prototype._forEachNode=function(e,t){for(var r=m.acquire().init(e),n=[r];0!==n.length;){if(r=n.pop(),t(r)&&!r.isLeaf())for(var i=0;i<r.node.children.length;i++){var o=r.node.children[i];o&&n.push(m.acquire().init(r).advance(i))}m.release(r)}},e.prototype._forEachNodeDepthOrdered=function(e,t,r,n){void 0===n&&(n=1);var i=m.acquire().init(e),o=[i];for(d(r,n,D);0!==o.length;){if(i=o.pop(),t(i)&&!i.isLeaf())for(var a=7;a>=0;--a){var s=D.data[a];if(!(s>=i.node.children.length)){var c=i.node.children[s];c&&o.push(m.acquire().init(i).advance(s))}}m.release(i)}},e.prototype._findClosest=function(e,t,r,n,o){var a=this,s=1/0,c=1/0,u=null,h=l(e,t),d=0,_=function(i){if(++d,!n||n(i)){var o=a._objectToBoundingSphere.getCenter(i),h=a._objectToBoundingSphere.getRadius(i);if(!r||!f(o,h,r)){var l=p(e,t,o),_=l-h,m=l+h;_<s&&(s=_,c=m,u=i)}}};return this._forEachNodeDepthOrdered(this._root,function(n){if(null!=o&&d>=o)return!1;if(r&&f(n.center,n.halfSize*b,r))return!1;if(i.vec3.scale(S,h,n.halfSize),i.vec3.add(S,S,n.center),p(e,t,S)>c)return!1;var a=n.node;return a.terminals.forEach(function(e){_(e)}),null!==a.residents&&a.residents.forEach(function(e){_(e)}),!0},e,t),u},e.prototype._forEachInDepthRange=function(e,t,r,n,o,a,s,c){var u=this,h=-1/0,d=1/0,_={setRange:function(e){1===r?(h=Math.max(h,e.near),d=Math.min(d,e.far)):(h=Math.max(h,-e.far),d=Math.min(d,-e.near))}};_.setRange(n);var m=p(t,r,e),v=l(t,r),g=l(t,-1*r),y=0,j=function(e){if(++y,!s||s(e)){var n=u._objectToBoundingSphere.getCenter(e),i=u._objectToBoundingSphere.getRadius(e),c=p(t,r,n)-m,l=c-i,v=c+i;l>d||v<h||a&&f(n,i,a)||o(e,_)}};this._forEachNodeDepthOrdered(this._root,function(e){if(null!=c&&y>=c)return!1;if(a&&f(e.center,e.halfSize*b,a))return!1;if(i.vec3.scale(S,v,e.halfSize),i.vec3.add(S,S,e.center),p(t,r,S)-m>d)return!1;if(i.vec3.scale(S,g,e.halfSize),i.vec3.add(S,S,e.center),p(t,r,S)-m<h)return!1;var n=e.node;return n.terminals.forEach(function(e){j(e)}),null!==n.residents&&n.residents.forEach(function(e){j(e)}),!0},t,r)},e.prototype._objectOrObjectsArray=function(e){return Array.isArray(e)?e:(y[0]=e,y)},e.prototype._remove=function(e,t,r){N.clear();var n=r.advanceTo(t,function(e,t){N.push(e.node),N.push(t)}),i=n?r.node.terminals:r.node.residents;if(i.removeUnordered(e),0===i.length)for(var o=N.length-2;o>=0;o-=2){var a=N.data[o],s=N.data[o+1];if(!this._purge(a,s))break}},e.prototype._nodeIsEmpty=function(e){if(0!==e.terminals.length)return!1;if(null!==e.residents)return 0===e.residents.length;for(var t=0;t<e.children.length;t++)if(e.children[t])return!1;return!0},e.prototype._purge=function(e,t){return t>=0&&(e.children[t]=null),!!this._nodeIsEmpty(e)&&(null===e.residents&&(e.residents=new n({shrink:!0})),!0)},e.prototype._add=function(e,t){t.advanceTo(this._boundingSphereFromObject(e,E))?t.node.terminals.push(e):(t.node.residents.push(e),t.node.residents.length>this._maximumObjectsPerNode&&t.depth<this._maximumDepth&&this._split(t))},e.prototype._split=function(e){var t=e.node.residents;e.node.residents=null;for(var r=0;r<t.length;r++){var n=m.acquire().init(e);this._add(t.data[r],n),m.release(n)}},e.prototype._grow=function(e,t){var r=this;if(0!==t){var n=this._boundingSphereFromObjects(e,t,function(e,t){return r._boundingSphereFromObject(e,t)},M);if(this._isValidRadius(n.radius)&&!this._fitsInsideTree(n))if(this._nodeIsEmpty(this._root.node))i.vec3.copy(this._root.center,n.center),this._root.halfSize=1.25*n.radius;else{var o=m.acquire();this._rootBoundsForRootAsSubNode(n,o),this._placingRootViolatesMaxDepth(o)?this._rebuildTree(n,o):this._growRootAsSubNode(o),m.release(o)}}},e.prototype._rebuildTree=function(e,t){var r=this;i.vec3.copy(z.center,t.center),z.radius=t.halfSize;var n=this._boundingSphereFromObjects([e,z],2,function(e){return e},R),o=m.acquire().init(this._root);this._root.initFrom(null,n.center,1.25*n.radius),this._forEachNode(o,function(e){return r.add(e.node.terminals.data,e.node.terminals.length),null!==e.node.residents&&r.add(e.node.residents.data,e.node.residents.length),!0}),m.release(o)},e.prototype._placingRootViolatesMaxDepth=function(e){var t=0;return this._forEachNode(this._root,function(e){return t=Math.max(t,e.depth),!0}),t+Math.log(e.halfSize/this._root.halfSize)*Math.LOG2E>this._maximumDepth},e.prototype._rootBoundsForRootAsSubNode=function(e,t){for(var r=e.radius,n=e.center,i=-1/0,o=this._root.center,a=this._root.halfSize,s=0;s<3;s++){var c=o[s]-a-(n[s]-r),u=n[s]+r-(o[s]+a),h=Math.max(0,Math.ceil(c/(2*a))),f=Math.max(0,Math.ceil(u/(2*a)))+1,d=Math.pow(2,Math.ceil(Math.log(h+f)*Math.LOG2E));i=Math.max(i,d),T[s].min=h,T[s].max=f}for(var s=0;s<3;s++){var h=T[s].min,f=T[s].max,l=(i-(h+f))/2;h+=Math.ceil(l),f+=Math.floor(l);var p=o[s]-a-h*a*2;j[s]=p+(f+h)*a}return t.initFrom(null,j,i*a,0)},e.prototype._growRootAsSubNode=function(e){var t=this._root.node;i.vec3.copy(M.center,this._root.center),M.radius=this._root.halfSize,this._root.init(e),e.advanceTo(M,null,!0),e.node.children=t.children,e.node.residents=t.residents,e.node.terminals=t.terminals},e.prototype._shrink=function(){for(;;){var e=this._findShrinkIndex();if(-1===e)break;this._root.advance(e),this._root.depth=0}},e.prototype._findShrinkIndex=function(){if(0!==this._root.node.terminals.length||this._root.isLeaf())return-1;for(var e=null,t=this._root.node.children,r=0,n=0;n<t.length&&null==e;)r=n++,e=t[r];for(;n<t.length;)if(t[n++])return-1;return r},e.prototype._isDegenerate=function(e){var t=this._objectToBoundingSphere.getRadius(e);return!this._isValidRadius(t)},e.prototype._isValidRadius=function(e){return!isNaN(e)&&e!==-1/0&&e!==1/0&&e>0},e.prototype._fitsInsideTree=function(e){var t=this._root.center,r=this._root.halfSize,n=e.center;return e.radius<=r&&n[0]>=t[0]-r&&n[0]<=t[0]+r&&n[1]>=t[1]-r&&n[1]<=t[1]+r&&n[2]>=t[2]-r&&n[2]<=t[2]+r},e.prototype._boundingSphereFromObject=function(e,t){return i.vec3.copy(t.center,this._objectToBoundingSphere.getCenter(e)),t.radius=this._objectToBoundingSphere.getRadius(e),t},e.prototype._boundingSphereFromObjects=function(e,t,r,n){if(1===t){var o=r(e[0],M);i.vec3.copy(n.center,o.center),n.radius=o.radius}else{O[0]=1/0,O[1]=1/0,O[2]=1/0,x[0]=-1/0,x[1]=-1/0,x[2]=-1/0;for(var a=0;a<t;a++){var o=r(e[a],M);this._isValidRadius(o.radius)&&(c(O,o.center,o.radius),u(x,o.center,o.radius))}i.vec3.lerp(n.center,O,x,.5),n.radius=Math.max(x[0]-O[0],x[1]-O[1],x[2]-O[2])/2}return n},e}(),m=function(){function e(e,t,r){void 0===r&&(r=0),this.center=o.vec3f64.create(),this.initFrom(e,t,r,0)}return e.prototype.init=function(e){return this.initFrom(e.node,e.center,e.halfSize,e.depth)},e.prototype.initFrom=function(t,r,n,o){return void 0===t&&(t=null),void 0===n&&(n=this.halfSize),void 0===o&&(o=this.depth),this.node=t||e.createEmptyNode(),r&&i.vec3.copy(this.center,r),this.halfSize=n,this.depth=o,this},e.prototype.advance=function(t){var r=this.node.children[t];r||(r=e.createEmptyNode(),this.node.children[t]=r),this.node=r,this.halfSize/=2,this.depth++;var n=v[t];return this.center[0]+=n[0]*this.halfSize,this.center[1]+=n[1]*this.halfSize,this.center[2]+=n[2]*this.halfSize,this},e.prototype.advanceTo=function(e,t,r){for(void 0===r&&(r=!1);;){if(this.isTerminalFor(e))return t&&t(this,-1),!0;if(this.isLeaf()&&!r)return t&&t(this,-1),!1;this.isLeaf()&&(this.node.residents=null);var n=this._childIndex(e);t&&t(this,n),this.advance(n)}},e.prototype.isLeaf=function(){return null!=this.node.residents},e.prototype.isTerminalFor=function(e){return e.radius>this.halfSize/2},e.prototype._childIndex=function(e){for(var t=e.center,r=this.center,n=0,i=0;i<3;i++)r[i]<t[i]&&(n|=1<<i);return n},e.createEmptyNode=function(){return{children:[null,null,null,null,null,null,null,null],terminals:new n({shrink:!0}),residents:new n({shrink:!0})}},e.acquire=function(){return e._pool.acquire()},e.release=function(t){e._pool.release(t)},e.clearPool=function(){e._pool.prune()},e._pool=new r(e),e}(),v=[o.vec3f64.fromValues(-1,-1,-1),o.vec3f64.fromValues(1,-1,-1),o.vec3f64.fromValues(-1,1,-1),o.vec3f64.fromValues(1,1,-1),o.vec3f64.fromValues(-1,-1,1),o.vec3f64.fromValues(1,-1,1),o.vec3f64.fromValues(-1,1,1),o.vec3f64.fromValues(1,1,1)],g=[o.vec3f64.fromValues(-1,-1,-1),o.vec3f64.fromValues(-1,-1,1),o.vec3f64.fromValues(-1,1,-1),o.vec3f64.fromValues(-1,1,1),o.vec3f64.fromValues(1,-1,-1),o.vec3f64.fromValues(1,-1,1),o.vec3f64.fromValues(1,1,-1),o.vec3f64.fromValues(1,1,1)],b=Math.sqrt(3),y=[null],j=o.vec3f64.create(),S=o.vec3f64.create(),O=o.vec3f64.create(),x=o.vec3f64.create(),N=new n,E={center:o.vec3f64.create(),radius:0},M={center:o.vec3f64.create(),radius:0},z={center:o.vec3f64.create(),radius:0},R={center:o.vec3f64.create(),radius:0},T=[{min:0,max:0},{min:0,max:0},{min:0,max:0}],V=new n,D=new n;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([\"require\",\"exports\",\"../../../../core/mathUtils\"],function(r,e,t){Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(){function r(r){null==r?r=16:r<65536&&(r=t.nextHighestPowerOfTwo(r)),this._array=new Float32Array(r),this._size=0}return r.prototype.resize=function(r,e){if(this._size=r,this._size>this._array.length){for(var t=this._array.length||1;t<this._size;)t*=2;var a=new Float32Array(t);return e&&a.set(this._array),this._array=a,!0}var i=2*this._size;if(i<=this._array.length){for(var t=this._array.length;t>=i;)t=Math.floor(t/2);var a=new Float32Array(t);return e&&a.set(this._array.subarray(0,t)),this._array=a,!0}return!1},r.prototype.append=function(r){var e=this._size;this.resize(this._size+r.length,!0),this._array.set(r,e)},r.prototype.erase=function(r,e){for(var t=r;t<e;++t)this._array[t]=0},Object.defineProperty(r.prototype,\"array\",{get:function(){return this._array},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,\"size\",{get:function(){return this._size},enumerable:!0,configurable:!0}),r}();e.ResizableFloat32Array=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/maybe\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"../../../webgl\",\"./doublePrecisionUtils\",\"./Util\",\"../shaders/sources/shaderRepository\"],function(e,n,o,t,r,i,a,s){function u(e){return(o.isNone(f)||f.context!==e)&&(f=new c(e)),f}function l(e,n){var o=new r.FramebufferObject(e,{colorTarget:0,depthStencilTarget:0},{target:3553,wrapMode:33071,pixelFormat:6408,dataType:5121,samplingMode:9728,width:1,height:1}),u=r.BufferObject.createVertex(e,35044,new Uint16Array([0,0,1,0,0,1,1,1])),l=new r.VertexArrayObject(e,{a_pos:0},{geometry:[{name:\"a_pos\",count:2,type:5123,offset:0,stride:4,normalized:!1}]},{geometry:u}),c=t.vec3f64.fromValues(5633261.287538229,2626832.878767164,1434988.0495278358),f=t.vec3f64.fromValues(5633271.46742708,2626873.6381334523,1434963.231608387);e.bindFramebuffer(o);var d=function(o,t){var a=s.util[\"doublePrecision.glsl\"],u=n?\"#define DOUBLE_PRECISION_REQUIRES_OBFUSCATION\":\"\",l=\"\\n\\n  precision highp float;\\n\\n  attribute vec2 a_pos;\\n\\n  uniform vec3 u_highA;\\n  uniform vec3 u_lowA;\\n  uniform vec3 u_highB;\\n  uniform vec3 u_lowB;\\n\\n  varying vec4 v_color;\\n\\n  \"+u+\"\\n\\n  \"+a+\"\\n\\n  const float MAX_RGBA_FLOAT =\\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\\n  const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);\\n\\n  vec4 float2rgba(const float value) {\\n    // Make sure value is in the domain we can represent\\n    float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);\\n\\n    // Decompose value in 32bit fixed point parts represented as\\n    // uint8 rgba components. Decomposition uses the fractional part after multiplying\\n    // by a power of 256 (this removes the bits that are represented in the previous\\n    // component) and then converts the fractional part to 8bits.\\n    vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);\\n\\n    // Convert uint8 values (from 0 to 255) to floating point representation for\\n    // the shader\\n    const float toU8AsFloat = 1.0 / 255.0;\\n\\n    return fixedPointU8 * toU8AsFloat;\\n  }\\n\\n  void main() {\\n    vec3 val = dpAdd(u_highA, u_lowA, -u_highB, -u_lowB);\\n\\n    v_color = float2rgba(val.z / 25.0);\\n\\n    gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n  }\\n  \",c=new r.Program(e,l,\"\\n  precision highp float;\\n\\n  varying vec4 v_color;\\n\\n  void main() {\\n    gl_FragColor = v_color;\\n  }\\n  \",{a_pos:0}),f=new Float32Array(6);i.encodeDoubleArray(o,f,3);var d=new Float32Array(6);return i.encodeDoubleArray(t,d,3),e.bindProgram(c),c.setUniform3f(\"u_highA\",f[0],f[2],f[4]),c.setUniform3f(\"u_lowA\",f[1],f[3],f[5]),c.setUniform3f(\"u_highB\",d[0],d[2],d[4]),c.setUniform3f(\"u_lowB\",d[1],d[3],d[5]),c}(c,f),p=e.getViewport(),v=p.x,h=p.y,_=p.width,b=p.height;e.setViewport(0,0,1,1),e.bindVAO(l),e.drawArrays(5,0,4),e.setViewport(v,h,_,b);var m=new Uint8Array(4);o.readPixels(0,0,1,1,6408,5121,m),d.dispose(),l.dispose(!1),u.dispose(),o.dispose();var g=(c[2]-f[2])/25,A=a.unpackFloatRGBA(m);return Math.abs(g-A)}Object.defineProperty(n,\"__esModule\",{value:!0});var c=function(){function e(e){this.context=e,this._doublePrecisionRequiresObfuscation=null}return Object.defineProperty(e.prototype,\"doublePrecisionRequiresObfuscation\",{get:function(){if(o.isNone(this._doublePrecisionRequiresObfuscation)){var e=l(this.context,!1),n=l(this.context,!0);this._doublePrecisionRequiresObfuscation=0!==e&&(0===n||e/n>5)}return this._doublePrecisionRequiresObfuscation},enumerable:!0,configurable:!0}),e}(),f=null;n.testWebGLDriver=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){function o(e,r){c[0]=e,c[1]=e-c[0],r[0]=c[0],r[1]=c[1]}function n(e,r,o){for(var n=0;n<o;++n)r[2*n]=e[n],r[2*n+1]=e[n]-r[2*n]}function a(e,r,o){for(var n=0;n<o;++n)r[n]=e[2*n]+e[2*n+1]}function u(e,r,o,a){for(var u=0;u<a;++u)t[0]=e[u],n(t,c,1),r[u]=c[0],o[u]=c[1]}Object.defineProperty(r,\"__esModule\",{value:!0}),r.encodeDouble=o,r.encodeDoubleArray=n,r.decodeDoubleArray=a,r.encodeDoubleArraySplit=u;var t=new Float64Array(1),c=new Float32Array(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\",\"./DefaultVertexAttributeLocations\",\"./DefaultVertexBufferLayouts\",\"../../../webgl/BufferObject\",\"../../../webgl/Texture\",\"../../../webgl/VertexArrayObject\"],function(e,t,r,a,o,n,i){function u(e,t,n){void 0===t&&(t=a.Pos2),void 0===n&&(n=r.Default3D);var u=null;switch(t){case a.Pos3Tex:u=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,-1,1,0,0,1,1,1,0,1,1]);break;case a.Pos3:u=new Float32Array([-1,-1,0,1,-1,0,-1,1,0,1,1,0]);break;case a.Pos2Tex:u=new Float32Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]);break;case a.Pos2:default:u=new Float32Array([-1,-1,1,-1,-1,1,1,1])}return new i(e,n,{geometry:t},{geometry:o.createVertex(e,35044,u)})}function l(e,t){return void 0===t&&(t=s),new n(e,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,width:t,height:t})}function c(e,t,r){void 0===r&&(r=s);for(var a=new Uint8Array(r*r*4),o=0;o<a.length;o+=4)a[o+0]=255*t[0],a[o+1]=255*t[1],a[o+2]=255*t[2],a[o+3]=255*t[3];return new n(e,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,width:r,height:r},a)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.createQuadVAO=u;var s=4;t.createEmptyTexture=l,t.createColorTexture=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/maybe\",\"../../../../core/libs/gl-matrix-2/mat3\",\"../../../../core/libs/gl-matrix-2/mat3f64\",\"../../../../core/libs/gl-matrix-2/mat4\",\"../../../../core/libs/gl-matrix-2/mat4f64\",\"../../../../core/libs/gl-matrix-2/quat\",\"../../../../core/libs/gl-matrix-2/quatf64\",\"../../../../core/libs/gl-matrix-2/vec3\",\"../../../../core/libs/gl-matrix-2/vec3f32\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"../../../../core/libs/gl-matrix-2/vec4\",\"../../../../core/libs/gl-matrix-2/vec4f64\",\"../../support/geometryUtils\",\"../../support/geometryUtils/boundedPlane\",\"../../support/geometryUtils/sphere\",\"./Object3D\"],function(t,e,r,i,n,a,s,o,h,c,f,l,p,u,m,b,d,y){function g(t){return function(e,r,i){return c.vec3.lerp(P,e,r,i),!b.extrusionContainsPoint(t,P)}}function v(t,e){return r.isNone(t)||null==t.layerUid?null:r.isSome(e.graphicsView)&&t.layerUid===e.graphicsView.mockLayerId?e.graphics:e.map.findLayerByUid(t.layerUid)}function O(t,e){if(r.isNone(t))return null;var i=v(t,e);if(r.isNone(i))return null;if(i===e.graphics)return r.isSome(e.graphicsView)?r.expect(e.graphicsView.getGraphicFromGraphicUid(t.graphicUid)):null;var n=e.allLayerViews.find(function(t){return t.layer===i});return n?x(n,t):null}function x(t,e){return!t||t.suspended?null:\"getGraphicFromIntersectorMetadata\"in t&&e?t.getGraphicFromIntersectorMetadata(e):\"getGraphicFromGraphicUid\"in t&&null!=e.graphicUid?t.getGraphicFromGraphicUid(e.graphicUid):null}function T(t,e){var r=t.metadata.layerUid;return null!=r?e.map.findLayerByUid(r):null}function S(t){return t.metadata.createGraphic()}Object.defineProperty(e,\"__esModule\",{value:!0}),e.sliceFilterPredicate=g;var M=function(){function t(){this.selectionMode=!1,this.hud=!0,this.selectOpaqueTerrainOnly=!0,this.invisibleTerrain=!1,this.backfacesTerrain=!0,this.storeTerrainResults=!0,this.store=2}return t}();e.IntersectorOptions=M;var z=function(){function t(){this._transform=s.mat4f64.create(),this._transformInverse=new I({value:this._transform},a.mat4.invert,s.mat4f64.create),this._transformInverseTranspose=new I(this._transformInverse,a.mat4.transpose,s.mat4f64.create),this._transformTranspose=new I({value:this._transform},a.mat4.transpose,s.mat4f64.create),this._transformInverseRotation=new I({value:this._transform},i.mat3.normalFromMat4Legacy,n.mat3f64.create)}return t.prototype.invalidateLazyTransforms=function(){this._transformInverse.invalidate(),this._transformInverseTranspose.invalidate(),this._transformTranspose.invalidate(),this._transformInverseRotation.invalidate()},Object.defineProperty(t.prototype,\"transform\",{get:function(){return this._transform},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"inverse\",{get:function(){return this._transformInverse.value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"inverseTranspose\",{get:function(){return this._transformInverseTranspose.value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"inverseRotation\",{get:function(){return this._transformInverseRotation.value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"transpose\",{get:function(){return this._transformTranspose.value},enumerable:!0,configurable:!0}),t.prototype.setTransformMatrix=function(t){a.mat4.copy(this._transform,t)},t.prototype.multiplyTransform=function(t){a.mat4.multiply(this._transform,this._transform,t)},t.prototype.set=function(t){a.mat4.copy(this._transform,t),this.invalidateLazyTransforms()},t.prototype.setAndInvalidateLazyTransforms=function(t,e){this.setTransformMatrix(t),this.multiplyTransform(e),this.invalidateLazyTransforms()},t}();e.IntersectorTransform=z;var I=function(){function t(t,e,r){this.original=t,this.update=e,this.dirty=!0,this.transform=r()}return t.prototype.invalidate=function(){this.dirty=!0},Object.defineProperty(t.prototype,\"value\",{get:function(){return this.dirty&&(this.update(this.transform,this.original.value),this.dirty=!1),this.transform},enumerable:!0,configurable:!0}),t}(),V=function(){function t(){this.min=new _,this.max=new _,this.hud=new _,this.terrain=new _}return t.prototype.init=function(t){this.min.init(t),this.max.init(t),this.hud.init(t),this.terrain.init(t),this.all=[]},t}();e.IntersectorResults=V;var _=function(){function t(t){this.normal=l.vec3f64.create(),this.transformation=s.mat4f64.create(),this._ray=m.ray.create(),this.init(t)}return Object.defineProperty(t.prototype,\"ray\",{get:function(){return this._ray},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"hasIntersectionPoint\",{get:function(){return null!=this.dist},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"distanceInRenderSpace\",{get:function(){if(null!=this.dist)return c.vec3.scale(G,this.ray.direction,this.dist),c.vec3.length(G)},enumerable:!0,configurable:!0}),t.prototype.getIntersectionPoint=function(t){return!!this.hasIntersectionPoint&&(c.vec3.scale(G,this.ray.direction,this.dist),c.vec3.add(t,this.ray.origin,G),!0)},t.prototype.getTransformedNormal=function(t){return c.vec3.copy(R,this.normal),R[3]=0,p.vec4.transformMat4(R,R,this.transformation),c.vec3.copy(t,R),c.vec3.normalize(t,t),t},t.prototype.set=function(t,e,r,i,n,s,o,h,f,p){t instanceof y&&(t={type:\"stage\",obj:t}),this.dist=r,c.vec3.copy(this.normal,i),a.mat4.copy(this.transformation,n),this.target=t,this.name=e,this.drapedLayerOrder=s,this.center=o?l.vec3f64.clone(o):null,this.geometryId=h,this.triangleNr=f,this.drapedLayerGraphicOrder=p},t.prototype.copyFrom=function(t){m.ray.copy(t._ray,this._ray),this.dist=t.dist,this.target=t.target,this.name=t.name,this.drapedLayerOrder=t.drapedLayerOrder,this.center=t.center?l.vec3f64.clone(t.center):null,this.geometryId=t.geometryId,this.triangleNr=t.triangleNr,this.intersector=t.intersector,this.drapedLayerGraphicOrder=t.drapedLayerGraphicOrder,c.vec3.copy(this.normal,t.normal),a.mat4.copy(this.transformation,t.transformation)},t.prototype.init=function(t){this.dist=void 0,this.target=void 0,this.name=void 0,this.drapedLayerOrder=void 0,this.drapedLayerGraphicOrder=void 0,this.center=null,this.geometryId=null,this.triangleNr=null,this.intersector=\"Stage\",t?m.ray.copy(t,this._ray):this._ray=m.ray.create()},t.prototype.toOwner=function(t){if(!this.target)return null;switch(this.target.type){case\"stage\":return v(this.target.obj.getMetadata(),t);case\"external\":switch(this.intersector){case\"PointRenderer\":return T(this.target,t);case\"I3S\":case\"LodRenderer\":case\"DrapedRenderer\":return v(this.target.metadata,t);case\"TerrainRenderer\":return t.map&&t.map.ground}}return null},t.prototype.toGraphic=function(t){if(!this.target)return null;switch(this.target.type){case\"stage\":return O(this.target.obj.getMetadata(),t);case\"external\":switch(this.intersector){case\"PointRenderer\":return S(this.target);case\"I3S\":case\"LodRenderer\":case\"DrapedRenderer\":return O(this.target.metadata,t)}}return null},t}();e.IntersectorResult=_;var L=function(){function t(t){this.offset=t,this.tmpVertex=l.vec3f64.create()}return t.prototype.applyToVertex=function(t,e,r){var i=t+this.localOrigin[0],n=e+this.localOrigin[1],a=r+this.localOrigin[2],s=this.offset/Math.sqrt(i*i+n*n+a*a);return this.tmpVertex[0]=t+i*s,this.tmpVertex[1]=e+n*s,this.tmpVertex[2]=r+a*s,this.tmpVertex},t.prototype.applyToAABB=function(t){var e=t[0]+this.localOrigin[0],r=t[1]+this.localOrigin[1],i=t[2]+this.localOrigin[2],n=t[3]+this.localOrigin[0],a=t[4]+this.localOrigin[1],s=t[5]+this.localOrigin[2],o=this.offset/Math.sqrt(e*e+r*r+i*i);t[0]+=e*o,t[1]+=r*o,t[2]+=i*o;var h=this.offset/Math.sqrt(n*n+a*a+s*s);return t[3]+=n*h,t[4]+=a*h,t[5]+=s*h,t},t}();e.TerrainVerticalOffsetGlobalViewingMode=L;var q=function(){function t(t){this.offset=t,this.componentLocalOriginLength=0,this.tmpVertex=l.vec3f64.create(),this.mbs=u.vec4f64.create(),this.obb={center:l.vec3f64.create(),halfSize:f.vec3f32.create(),quaternion:null}}return Object.defineProperty(t.prototype,\"localOrigin\",{set:function(t){this.componentLocalOriginLength=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2])},enumerable:!0,configurable:!0}),t.prototype.applyToVertex=function(t,e,r){var i=t,n=e,a=r+this.componentLocalOriginLength,s=this.offset/Math.sqrt(i*i+n*n+a*a);return this.tmpVertex[0]=t+i*s,this.tmpVertex[1]=e+n*s,this.tmpVertex[2]=r+a*s,this.tmpVertex},t.prototype.applyToAABB=function(t){var e=t[0],r=t[1],i=t[2]+this.componentLocalOriginLength,n=t[3],a=t[4],s=t[5]+this.componentLocalOriginLength,o=this.offset/Math.sqrt(e*e+r*r+i*i);t[0]+=e*o,t[1]+=r*o,t[2]+=i*o;var h=this.offset/Math.sqrt(n*n+a*a+s*s);return t[3]+=n*h,t[4]+=a*h,t[5]+=s*h,t},t.prototype.applyToMbs=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]),r=this.offset/e;return this.mbs[0]=t[0]+t[0]*r,this.mbs[1]=t[1]+t[1]*r,this.mbs[2]=t[2]+t[2]*r,this.mbs[3]=t[3]+t[3]*this.offset/e,this.mbs},t.prototype.applyToObb=function(t){var e=t.center,r=this.offset/Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);this.obb.center[0]=e[0]+e[0]*r,this.obb.center[1]=e[1]+e[1]*r,this.obb.center[2]=e[2]+e[2]*r,c.vec3.transformQuat(this.obb.halfSize,t.halfSize,t.quaternion),c.vec3.add(this.obb.halfSize,this.obb.halfSize,t.center);var i=this.offset/Math.sqrt(this.obb.halfSize[0]*this.obb.halfSize[0]+this.obb.halfSize[1]*this.obb.halfSize[1]+this.obb.halfSize[2]*this.obb.halfSize[2]);return this.obb.halfSize[0]+=this.obb.halfSize[0]*i,this.obb.halfSize[1]+=this.obb.halfSize[1]*i,this.obb.halfSize[2]+=this.obb.halfSize[2]*i,c.vec3.subtract(this.obb.halfSize,this.obb.halfSize,t.center),o.quat.conjugate(U,t.quaternion),c.vec3.transformQuat(this.obb.halfSize,this.obb.halfSize,U),this.obb.halfSize[0]*=this.obb.halfSize[0]<0?-1:1,this.obb.halfSize[1]*=this.obb.halfSize[1]<0?-1:1,this.obb.halfSize[2]*=this.obb.halfSize[2]<0?-1:1,this.obb.quaternion=t.quaternion,this.obb},t}();e.I3SVerticalOffsetGlobalViewingMode=q;var w=function(){function t(t){this.offset=t,this.sphere=d.create(),this.tmpVertex=l.vec3f64.create()}return t.prototype.applyToVertex=function(t,e,r){var i=this.objectTransform.transform,n=i[0]*t+i[4]*e+i[8]*r+i[12],a=i[1]*t+i[5]*e+i[9]*r+i[13],s=i[2]*t+i[6]*e+i[10]*r+i[14],o=this.offset/Math.sqrt(n*n+a*a+s*s);n+=n*o,a+=a*o,s+=s*o;var h=this.objectTransform.inverse;return this.tmpVertex[0]=h[0]*n+h[4]*a+h[8]*s+h[12],this.tmpVertex[1]=h[1]*n+h[5]*a+h[9]*s+h[13],this.tmpVertex[2]=h[2]*n+h[6]*a+h[10]*s+h[14],this.tmpVertex},t.prototype.applyToMinMax=function(t,e){var r=this.offset/Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]+=t[0]*r,t[1]+=t[1]*r,t[2]+=t[2]*r;var i=this.offset/Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]+=e[0]*i,e[1]+=e[1]*i,e[2]+=e[2]*i},t.prototype.applyToAABB=function(t){var e=this.offset/Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]+=t[0]*e,t[1]+=t[1]*e,t[2]+=t[2]*e;var r=this.offset/Math.sqrt(t[3]*t[3]+t[4]*t[4]+t[5]*t[5]);return t[3]+=t[3]*r,t[4]+=t[4]*r,t[5]+=t[5]*r,t},t.prototype.applyToBoundingSphere=function(t,e){var r=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),i=this.offset/r;return this.sphere.center[0]=e[0]+e[0]*i,this.sphere.center[1]=e[1]+e[1]*i,this.sphere.center[2]=e[2]+e[2]*i,this.sphere.radius=t+t*this.offset/r,this.sphere},t}();e.Object3DVerticalOffsetGlobalViewingMode=w;var j=function(){function t(t){this.terrain=new L(t),this.i3s=new q(t),this.object3D=new w(t)}return t}();e.VerticalOffsetForGlobalViewingMode=j,e.TERRAIN_ID=\"terrain\";var P=l.vec3f64.create(),G=l.vec3f64.create(),R=u.vec4f64.create(),U=h.quatf64.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/mathUtils\",\"../../support/earthUtils\"],function(e,a,t,r){function i(e){return new g(e,a.defaultDescription)}function n(e){var t=a.defaultDescription.curvatureDependent,r=a.defaultDescription.scaleStart,i=a.defaultDescription.scaleFallOffRange;return new g(e,{curvatureDependent:{min:{curvature:t.min.curvature,tiltAngle:t.min.tiltAngle,scaleFallOffFactor:P.curvatureDependent.min.scaleFallOffFactor},max:{curvature:t.max.curvature,tiltAngle:t.max.tiltAngle,scaleFallOffFactor:P.curvatureDependent.max.scaleFallOffFactor}},scaleStart:r,scaleFallOffRange:i,minPixelSize:P.minPixelSize})}function l(e){return Math.abs(e*e*e)}function c(e,a,t,r){void 0===r&&(r=x);var i=t.parameters,n=t.paddingPixelsOverride;return r.scale=Math.min(i.divisor/(a-i.offset),1),r.factor=l(e),r.minPixelSize=i.minPixelSize,r.paddingPixels=n,r}function s(e,a){return 0===e?a.minPixelSize:a.minPixelSize*(1+2*a.paddingPixels/e)}function o(e,a){return Math.max(t.lerp(e*a.scale,e,a.factor),s(e,a))}function u(e,a,r){void 0===r&&(r=[0,0]);var i=Math.min(Math.max(a.scale,s(e[1],a)/e[1]),1);return r[0]=t.lerp(e[0]*i,e[0],a.factor),r[1]=t.lerp(e[1]*i,e[1],a.factor),r}function d(e,a,t){var r=c(e,a,t);return r.minPixelSize=0,r.paddingPixels=0,o(1,r)}function f(e,a,t,r){return r.scale=d(e,a,t),r.factor=0,r.minPixelSize=t.parameters.minPixelSize,r.paddingPixels=t.paddingPixelsOverride,r}function p(e,a,t){void 0===t&&(t=[0,0]);var r=Math.min(Math.max(a.scale,s(e[1],a)/e[1]),1);return t[0]=e[0]*r,t[1]=e[1]*r,t}function m(e,a,t,r){return o(e,c(a,t,r))}function v(){return{camera:{distance:0,fovY:0},divisor:0,offset:0,minPixelSize:0,paddingPixels:0}}function h(e,a){return a.camera.distance=e.camera.distance,a.camera.fovY=e.camera.fovY,a.divisor=e.divisor,a.offset=e.offset,a.minPixelSize=e.minPixelSize,a}Object.defineProperty(a,\"__esModule\",{value:!0}),a.getSettings=i,a.getLabelSettings=n,a.perspectiveFactor=l,a.scaleFactor=c,a.applyScaleFactor=o,a.applyScaleFactorVec2=u,a.precomputeScale=d,a.precomputeScaleFactor=f,a.applyPrecomputedScaleFactorVec2=p,a.scale=m;var g=function(){function e(e,a,t,r){void 0===t&&(t=v()),this.viewingMode=e,this.description=a,this.parameters=t,this._paddingPixelsOverride=r,\"local\"===this.viewingMode?(this.coverageCompensation=this.surfaceCoverageCompensationLocal,this.calculateCurvatureDependentParameters=this.calculateCurvatureDependentParametersLocal):(this.coverageCompensation=this.surfaceCoverageCompensationGlobal,this.calculateCurvatureDependentParameters=this.calculateCurvatureDependentParametersGlobal)}return Object.defineProperty(e.prototype,\"paddingPixelsOverride\",{get:function(){return this._paddingPixelsOverride||this.parameters.paddingPixels},enumerable:!0,configurable:!0}),e.prototype.update=function(e){return(!this.parameters||this.parameters.camera.fovY!==e.fovY||this.parameters.camera.distance!==e.distance)&&(this.calculateParameters(e,this.parameters),!0)},e.prototype.overridePadding=function(a){return a!==this.paddingPixelsOverride?new e(this.viewingMode,this.description,this.parameters,a):this},e.prototype.calculateParameters=function(e,a){var t=this.description,r=t.scaleStart,i=t.scaleFallOffRange,n=t.minPixelSize,l=e.fovY,c=e.distance,s=this.calculateCurvatureDependentParameters(e),o=this.coverageCompensation(e,s),u=s.tiltAngle,d=s.scaleFallOffFactor,f=Math.sin(u)*c,p=.5*Math.PI-u-l*(.5-r*o),m=f/Math.cos(p),v=p+l*i*o,h=f/Math.cos(v),g=(m-d*h)/(1-d);return a.camera.fovY=e.fovY,a.camera.distance=e.distance,a.offset=g,a.divisor=m-g,a.minPixelSize=n,a},e.prototype.calculateCurvatureDependentParametersLocal=function(e,a){return void 0===a&&(a=F),a.tiltAngle=this.description.curvatureDependent.min.tiltAngle,a.scaleFallOffFactor=this.description.curvatureDependent.min.scaleFallOffFactor,a},e.prototype.calculateCurvatureDependentParametersGlobal=function(e,a){void 0===a&&(a=F);var i=this.description.curvatureDependent,n=1+e.distance/r.earthRadius,l=Math.sqrt(n*n-1),c=[i.min.curvature,i.max.curvature],s=c[0],o=c[1],u=t.clamp((l-s)/(o-s),0,1),d=[i.min,i.max],f=d[0],p=d[1];return a.tiltAngle=t.lerp(f.tiltAngle,p.tiltAngle,u),a.scaleFallOffFactor=t.lerp(f.scaleFallOffFactor,p.scaleFallOffFactor,u),a},e.prototype.surfaceCoverageCompensationLocal=function(e,a){return(e.fovY-a.tiltAngle)/e.fovY},e.prototype.surfaceCoverageCompensationGlobal=function(e,a){var t=r.earthRadius*r.earthRadius,i=a.tiltAngle+.5*Math.PI,n=e.fovY,l=e.distance,c=l*l,s=c+t-2*Math.cos(i)*l*r.earthRadius,o=Math.sqrt(s),u=Math.sqrt(s-t);return(Math.acos(u/o)-Math.asin(r.earthRadius/(o/Math.sin(i)))+.5*n)/n},e}();a.defaultDescription={curvatureDependent:{min:{curvature:t.deg2rad(10),tiltAngle:t.deg2rad(12),scaleFallOffFactor:.5},max:{curvature:t.deg2rad(70),tiltAngle:t.deg2rad(40),scaleFallOffFactor:.8}},scaleStart:.3,scaleFallOffRange:.65,minPixelSize:0};var P={curvatureDependent:{min:{scaleFallOffFactor:.7},max:{scaleFallOffFactor:.95}},minPixelSize:14};a.copyParameters=h;var x={scale:0,factor:0,minPixelSize:0,paddingPixels:0},F={tiltAngle:0,scaleFallOffFactor: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/extendsHelper\",\"../../../../core/tsSupport/assignHelper\",\"../../../../core/maybe\",\"../../../../core/libs/gl-matrix-2/mat3f64\",\"../../../../core/libs/gl-matrix-2/vec3\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"../../support/buffer/InterleavedLayout\",\"../core/shaderLibrary/DiscardOrAdjustAlpha.glsl\",\"../lib/GLMaterialTexture\",\"../lib/Material\",\"../lib/Util\",\"./internal/bufferWriterUtils\",\"./internal/MaterialUtil\",\"./renderers/InstancedRenderer\",\"./renderers/MergedRenderer\",\"../shaders/DefaultMaterialTechnique\",\"../../../webgl/renderState\",\"../../../webgl/renderState\"],function(e,t,i,r,a,n,s,o,c,l,u,p,h,f,m,d,v,g,b,P){function y(e,t){return e?t?6:9:4}function x(e){return e.cullFace?0!==e.cullFace:!e.slicePlaneEnabled&&(!e.transparent&&!e.doubleSided)}var q=h.assert,S=function(e){function t(i,r){var a=e.call(this,r)||this;return a.supportsEdges=!0,a.techniqueConfig=new g.DefaultMaterialTechniqueConfiguration,a.params=m.copyParameters(i,I),a.vertexBufferLayout=t.getVertexBufferLayout(a.params),a.instanceBufferLayout=i.instanced?t.getInstanceBufferLayout(a.params):null,a}return i(t,e),t.prototype.isVisibleInPass=function(e){return 3!==e||this.params.castShadows},t.prototype.isVisible=function(){var t=this.params;if(!e.prototype.isVisible.call(this)||0===t.layerOpacity)return!1;var i=t.instanced,r=t.vertexColors,a=t.symbolColors,n=!!i&&i.indexOf(\"color\")>-1,s=t.vvColorEnabled,o=\"replace\"===t.colorMixMode,c=t.opacity>0,l=t.externalColor&&t.externalColor[3]>0;return r&&(n||s||a)?!!o||c:r?o?l:c:n||s||a?!!o||c:o?l:c},t.prototype.setParameterValues=function(e){var t=this.params;for(var i in e)\"instanced\"===i&&q(e.instanced===t.instanced,\"Can not change instanced attributes\"),\"textureId\"===i&&q(t.textureId,\"Can only change texture of material that already has a texture\"),\"vertexColors\"===i&&!0===e[i]&&e[i]!==t[i]&&q(t.vertexColors,\"Can not enable vertex colors after DefaultMaterial creation\"),t[i]=e[i];this.notifyDirty(\"matChanged\")},t.prototype.getParameters=function(){return this.params},t.prototype.getTechniqueConfig=function(e){return this.techniqueConfig.output=e,this.techniqueConfig.hasNormalTexture=!!this.params.normalTextureId,this.techniqueConfig.hasColorTexture=!!this.params.textureId,this.techniqueConfig.vertexTangents=this.params.vertexTangents,this.techniqueConfig.instanced=!!this.params.instanced,this.techniqueConfig.instancedDoublePrecision=this.params.instancedDoublePrecision,this.techniqueConfig.vvSize=this.params.vvSizeEnabled,this.techniqueConfig.verticalOffset=null!==this.params.verticalOffset,this.techniqueConfig.screenSizePerspective=null!==this.params.screenSizePerspective,this.techniqueConfig.slice=this.params.slicePlaneEnabled,this.techniqueConfig.sliceHighlightDisabled=this.params.sliceHighlightDisabled,this.techniqueConfig.alphaDiscardMode=\"opaque\"===this.params.textureAlphaMode?1:\"mask\"===this.params.textureAlphaMode?2:\"maskBlend\"===this.params.textureAlphaMode?3:0,this.techniqueConfig.normalsTypeDerivate=\"screenDerivative\"===this.params.normals,0===e&&(this.techniqueConfig.treeRendering=!!this.params.treeRendering,this.techniqueConfig.vertexColors=this.params.vertexColors,this.techniqueConfig.symbolColors=this.params.symbolColors,this.techniqueConfig.doubleSidedMode=this.params.doubleSided&&\"normal\"===this.params.doubleSidedType?1:this.params.doubleSided&&\"winding-order\"===this.params.doubleSidedType?2:0,this.techniqueConfig.instancedColor=!!this.params.instanced&&this.params.instanced.indexOf(\"color\")>-1,this.techniqueConfig.receiveShadows=this.params.receiveShadows,this.techniqueConfig.receiveAmbientOcclusion=this.params.receiveSSAO,this.techniqueConfig.vvColor=this.params.vvColorEnabled,this.techniqueConfig.textureAlphaPremultiplied=!!this.params.textureAlphaPremultiplied,this.techniqueConfig.usePBR=this.params.usePBR,this.techniqueConfig.hasMetalnessAndRoughnessTexture=!!this.params.metallicRoughnessTextureId,this.techniqueConfig.hasEmissionTexture=!!this.params.emissiveTextureId,this.techniqueConfig.hasOcclusionTexture=!!this.params.occlusionTextureId,this.techniqueConfig.offsetBackfaces=!(!this.params.transparent||!this.params.offsetTransparentBackfaces)),this.techniqueConfig},t.prototype.intersect=function(e,t,i,r,n,o,c){if(null!==this.params.verticalOffset){var l=r.camera;s.vec3.set(W,i[12],i[13],i[14]);var u=null;switch(r.viewingMode){case\"global\":u=s.vec3.normalize(B,W);break;case\"local\":u=s.vec3.copy(B,E)}var p=0;if(null!==this.params.verticalOffset){var h=s.vec3.subtract(k,W,l.eye),f=s.vec3.length(h),d=s.vec3.scale(h,h,1/f),v=null;this.params.screenSizePerspective&&(v=s.vec3.dot(u,d)),p+=m.verticalOffsetAtDistance(l,f,this.params.verticalOffset,v,this.params.screenSizePerspective)}s.vec3.scale(u,u,p),s.vec3.transformMat3(L,u,r.transform.inverseRotation),n=s.vec3.subtract(R,n,L),o=s.vec3.subtract(z,o,L)}m.intersectTriangleGeometry(e,t,r,n,o,a.isSome(r.options.verticalOffset)?r.options.verticalOffset.object3D:void 0,c)},t.prototype.getGLMaterials=function(){return{color:C,depthShadowMap:w,normal:D,depth:T,highlight:M}},t.prototype.createRenderer=function(e,t){return this.params.softwareInstanced?new d(e,t,this):new v(e,t,this)},t.prototype.createBufferWriter=function(){return new O(this.vertexBufferLayout,this.instanceBufferLayout)},t.getVertexBufferLayout=function(e){var t=e.textureId||e.normalTextureId||e.metallicRoughnessTextureId||e.emissiveTextureId||e.occlusionTextureId,i=c.newLayout().vec3f(\"position\").vec3f(\"normal\");return e.vertexTangents&&i.vec4f(\"tangent\"),t&&i.vec2f(\"uv0\"),e.vertexColors&&i.vec4u8(\"color\"),e.symbolColors&&i.vec4u8(\"symbolColor\"),i},t.getInstanceBufferLayout=function(e){var t=c.newLayout();return t=e.instancedDoublePrecision?t.vec3f(\"modelOriginHi\").vec3f(\"modelOriginLo\").mat3f(\"model\").mat3f(\"modelNormal\"):t.mat4f(\"model\").mat4f(\"modelNormal\"),e.instanced&&e.instanced.indexOf(\"color\")>-1&&(t=t.vec4f(\"instanceColor\")),e.instanced&&e.instanced.indexOf(\"featureAttribute\")>-1&&(t=t.vec4f(\"instanceFeatureAttribute\")),t},t}(p.Material),C=function(e){function t(t){var i=this,r=t.material,a=r.getParameters();i=e.call(this,u.makeCtorParameters(t,a))||this,i.params=m.copyParameters(a);var n=i.params;return i.slot=y(n.transparent,n.writeDepth),i.technique=i.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique,i.material.getTechniqueConfig(0),i.technique),i.selectPipeline(0),i}return i(t,e),t.prototype.selectPipeline=function(e){var t=this.params,i=0===e?A(t):null;this.pipelineState=P.makePipelineState({blending:i,culling:V(t),depthTest:{func:513},depthWrite:t.writeDepth&&P.defaultDepthWriteParams,colorWrite:P.defaultColorWriteParams})},t.prototype.beginSlot=function(e){return e===this.slot},t.prototype.getProgram=function(){return this.technique.program},t.prototype.getPrograms=function(){return null},t.prototype.updateParameters=function(){this.params=m.copyParameters(this.material.getParameters()),this.slot=y(this.params.transparent,this.params.writeDepth),this.updateTexture(this.params.textureId),this.technique=this.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique,this.material.getTechniqueConfig(0),this.technique),this.selectPipeline(0)},t.prototype._updateShadowState=function(e){e.shadowMappingEnabled!==this.params.receiveShadows&&(this.material.setParameterValues({receiveShadows:e.shadowMappingEnabled}),this.updateParameters())},t.prototype.bind=function(e,t){var i=this.params;this._updateShadowState(t);var r=this.technique.program;e.bindProgram(r),e.setPipelineState(this.pipelineState),this.technique.bindPass(e,i,t),m.bindVerticalOffset(i.verticalOffset,t,r),m.bindScreenSizePerspective(i.screenSizePerspective,r),this.bindTexture(e,r)},t.prototype.release=function(){},t.prototype.bindView=function(e){var t=this.technique.program,i=this.params,r=i.instancedDoublePrecision?o.vec3f64.fromValues(e.viewInvTransp[3],e.viewInvTransp[7],e.viewInvTransp[11]):e.origin;m.bindView(r,e.view,t),m.bindCamPos(r,e.viewInvTransp,t),i.instancedDoublePrecision&&m.bindViewOriginDouble(r,t),i.slicePlaneEnabled&&m.bindSlicePlane(r,e.slicePlane,t),e.shadowMappingEnabled&&e.shadowMap.bindView(t,r)},t.prototype.bindInstance=function(e){var t=this.technique.program;t.setUniformMatrix4fv(\"model\",e.transformation),t.setUniformMatrix4fv(\"modelNormal\",e.transformationNormal)},t.prototype.getDrawMode=function(){return 4},t}(u),T=function(e){function t(t){var i=this,r=t.material;return i=e.call(this,u.makeCtorParameters(t,r.getParameters()))||this,i.updateParameters(),i}return i(t,e),t.prototype.beginSlot=function(e){return e===this.slot},t.prototype.getProgram=function(){return this.technique.program},t.prototype.getPrograms=function(){return null},t.prototype.selectPipeline=function(){var e=this.params;this.pipelineState=P.makePipelineState({culling:V(e),depthTest:{func:513},depthWrite:e.writeDepth&&P.defaultDepthWriteParams,colorWrite:P.defaultColorWriteParams})},t.prototype.selectSlot=function(){this.slot=y(this.params.transparent,this.params.writeDepth)},t.prototype.updateParameters=function(){this.params=m.copyParameters(this.material.getParameters()),this.technique=this.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique,this.material.getTechniqueConfig(1),this.technique),this.selectPipeline(),this.selectSlot(),this.updateTexture(this.params.textureId)},t.prototype.bind=function(e,t){var i=this.technique.program,r=this.params;e.bindProgram(i),e.setPipelineState(this.pipelineState),this.technique.bindPass(e,r,t),m.bindVerticalOffset(r.verticalOffset,t,i),m.bindScreenSizePerspective(r.screenSizePerspective,i),this.bindTexture(e,i)},t.prototype.release=function(){},t.prototype.bindView=function(e){var t=this.technique.program,i=this.params,r=i.instancedDoublePrecision?o.vec3f64.fromValues(e.viewInvTransp[3],e.viewInvTransp[7],e.viewInvTransp[11]):e.origin;m.bindView(r,e.view,t),i.slicePlaneEnabled&&m.bindSlicePlane(r,e.slicePlane,t),i.screenSizePerspective&&m.bindCamPos(r,e.viewInvTransp,t),i.instancedDoublePrecision&&m.bindViewOriginDouble(r,t)},t.prototype.bindInstance=function(e){this.technique.program.setUniformMatrix4fv(\"model\",e.transformation)},t.prototype.getDrawMode=function(){return 4},t}(u),w=function(e){function t(t){return e.call(this,t)||this}return i(t,e),t.prototype.updateParameters=function(){this.params=m.copyParameters(this.material.getParameters()),this.technique=this.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique,this.material.getTechniqueConfig(3),this.technique),this.selectPipeline(),this.selectSlot(),this.updateTexture(this.params.textureId)},t}(T),D=function(e){function t(t){var i=this,r=t.material,a=r.getParameters();return i=e.call(this,u.makeCtorParameters(t,a))||this,i.params=m.copyParameters(a),i.technique=i.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique,i.material.getTechniqueConfig(2),i.technique),i.selectPipeline(),i.selectSlot(),i}return i(t,e),t.prototype.beginSlot=function(e){return e===this.slot},t.prototype.getProgram=function(){return this.technique.program},t.prototype.getPrograms=function(){return null},t.prototype.selectPipeline=function(){var e=this.params;this.pipelineState=P.makePipelineState({culling:V(e),depthTest:{func:513},depthWrite:e.writeDepth&&P.defaultDepthWriteParams,colorWrite:P.defaultColorWriteParams})},t.prototype.selectSlot=function(){this.slot=y(this.params.transparent,this.params.writeDepth)},t.prototype.updateParameters=function(){this.params=m.copyParameters(this.material.getParameters()),this.technique=this.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique,this.material.getTechniqueConfig(2),this.technique),this.selectPipeline(),this.selectSlot(),this.updateTexture(this.params.textureId)},t.prototype.bind=function(e,t){var i=this.technique.program,r=this.params;e.bindProgram(i),e.setPipelineState(this.pipelineState),this.technique.bindPass(e,r,t),m.bindVerticalOffset(r.verticalOffset,t,i),m.bindScreenSizePerspective(r.screenSizePerspective,i),this.bindTexture(e,i)},t.prototype.release=function(){},t.prototype.bindView=function(e){var t=this.technique.program,i=this.params,r=i.instancedDoublePrecision?o.vec3f64.fromValues(e.viewInvTransp[3],e.viewInvTransp[7],e.viewInvTransp[11]):e.origin;m.bindView(r,e.view,t),t.setUniformMatrix4fv(\"viewNormal\",e.viewInvTransp),i.slicePlaneEnabled&&m.bindSlicePlane(r,e.slicePlane,t),i.screenSizePerspective&&m.bindCamPos(r,e.viewInvTransp,t),i.instancedDoublePrecision&&m.bindViewOriginDouble(r,t)},t.prototype.bindInstance=function(e){var t=this.technique.program;t.setUniformMatrix4fv(\"model\",e.transformation),t.setUniformMatrix4fv(\"modelNormal\",e.transformationNormal)},t.prototype.getDrawMode=function(){return 4},t}(u),M=function(e){function t(t){var i=this,r=t.material;return i=e.call(this,u.makeCtorParameters(t,r.getParameters()))||this,i.updateParameters(),i}return i(t,e),t.prototype.beginSlot=function(e){return e===this.slot},t.prototype.getProgram=function(){return this.technique.program},t.prototype.getPrograms=function(){return null},t.prototype.selectPipeline=function(){var e=this.params;this.pipelineState=P.makePipelineState({culling:V(e),depthTest:{func:513},depthWrite:e.writeDepth&&P.defaultDepthWriteParams,colorWrite:P.defaultColorWriteParams})},t.prototype.selectSlot=function(){this.slot=y(this.params.transparent,this.params.writeDepth)},t.prototype.updateParameters=function(){this.params=m.copyParameters(this.material.getParameters()),this.technique=this.techniqueRep.acquireAndReleaseExisting(g.DefaultMaterialTechnique,this.material.getTechniqueConfig(4),this.technique),this.selectPipeline(),this.selectSlot(),this.updateTexture(this.params.textureId)},t.prototype.bind=function(e,t){var i=this.technique.program,r=this.params;e.bindProgram(i),e.setPipelineState(this.pipelineState),this.technique.bindPass(e,r,t),m.bindVerticalOffset(r.verticalOffset,t,i),m.bindScreenSizePerspective(r.screenSizePerspective,i),this.bindTexture(e,i)},t.prototype.release=function(){},t.prototype.bindView=function(e){var t=this.technique.program,i=this.params,r=i.instancedDoublePrecision?o.vec3f64.fromValues(e.viewInvTransp[3],e.viewInvTransp[7],e.viewInvTransp[11]):e.origin;m.bindView(r,e.view,t),i.slicePlaneEnabled&&m.bindSlicePlane(r,e.slicePlane,t),i.screenSizePerspective&&m.bindCamPos(r,e.viewInvTransp,t),i.instancedDoublePrecision&&m.bindViewOriginDouble(r,t)},t.prototype.bindInstance=function(e){var t=this.technique.program;t.setUniformMatrix4fv(\"model\",e.transformation),t.setUniformMatrix4fv(\"modelNormal\",e.transformationNormal)},t.prototype.getDrawMode=function(){return 4},t}(u);!function(e){e.COLOR_GAMMA=2.1}(S||(S={}));var I={textureId:void 0,initTextureTransparent:!1,usePBR:!1,normalTextureId:void 0,vertexTangents:!1,occlusionTextureId:void 0,emissiveTextureId:void 0,metallicRoughnessTextureId:void 0,emissiveFactor:[0,0,0],metallicFactor:0,roughnessFactor:1,reflectanceFactor:.5,ambient:[.2,.2,.2],diffuse:[.8,.8,.8],specular:[0,0,0],externalColor:[1,1,1,1],colorMixMode:\"multiply\",opacity:1,layerOpacity:1,vertexColors:!1,symbolColors:!1,doubleSided:!1,doubleSidedType:\"normal\",cullFace:void 0,softwareInstanced:!1,instanced:void 0,instancedDoublePrecision:!1,normals:\"default\",receiveSSAO:!0,receiveShadows:!1,castShadows:!0,verticalOffset:null,screenSizePerspective:null,slicePlaneEnabled:!1,sliceHighlightDisabled:!1,offsetTransparentBackfaces:!1,vvSizeEnabled:!1,vvSizeMinSize:[1,1,1],vvSizeMaxSize:[100,100,100],vvSizeOffset:[0,0,0],vvSizeFactor:[1,1,1],vvSizeValue:[1,1,1],vvColorEnabled:!1,vvColorValues:[0,0,0,0,0,0,0,0],vvColorColors:[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],vvSymbolAnchor:[0,0,0],vvSymbolRotationMatrix:n.mat3f64.create(),transparent:!1,writeDepth:!0,textureAlphaMode:\"blend\",textureAlphaCutoff:l.TEXTURE_ALPHA_CUTOFF_DEFAULT,textureAlphaPremultiplied:!1},O=function(){function e(e,t){this.vertexBufferLayout=e,this.instanceBufferLayout=t}return e.prototype.allocate=function(e){return this.vertexBufferLayout.createBuffer(e)},e.prototype.elementCount=function(e){return e.indices.position.length},e.prototype.write=function(e,t,i,r){f.writeDefaultAttributes(t,this.vertexBufferLayout,e.transformation,e.invTranspTransformation,i,r)},e}(),A=function(e){return e.transparent&&b.separateBlendingParams(770,1,771,771)},V=function(e){return x(e)&&{face:1===e.cullFace?1028:1029,mode:2305}},R=o.vec3f64.create(),z=o.vec3f64.create(),E=o.vec3f64.fromValues(0,0,1),B=o.vec3f64.create(),L=o.vec3f64.create(),W=o.vec3f64.create(),k=o.vec3f64.create();return 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/Logger\",\"../../../../core/mathUtils\",\"../../../../core/maybe\",\"../../../../core/screenUtils\",\"../../../../core/libs/gl-matrix-2/vec2\",\"../../../../core/libs/gl-matrix-2/vec3\",\"../../../../core/libs/gl-matrix-2/vec3f64\",\"../../support/geometryUtils\",\"../../support/buffer/InterleavedLayout\",\"../lib/ComponentUtils\",\"../lib/geometryDataUtils\",\"../lib/GLMaterial\",\"../lib/Material\",\"../lib/Util\",\"./VisualVariableMaterialParameters\",\"./internal/MaterialUtil\",\"./renderers/MergedRenderer\",\"../shaders/RibbonLineTechnique\",\"../shaders/RibbonLineTechnique\"],function(t,e,i,n,r,a,s,o,c,p,u,l,h,v,b,f,d,m,g,C,A,S,y){function R(t,e,i,n,r){for(var a=0;a<r;a++)i[n++]=t[e++];return n}var x=r.getLogger(\"esri.views.3d.webgl-engine.materials.RibbonLineMaterial\"),P=function(t){function e(e,i){var n=t.call(this,i)||this;return n.techniqueConfig=new y.RibbonLineTechniqueConfiguration,n.params=C.copyParameters(e,V),n.validateParams(),n.params.transparent=n.params.color[3]<1||n.params.transparent,n.layout=n.createLayout(),n}return i(e,t),e.prototype.dispose=function(){},e.prototype.setParameterValues=function(t){for(var e in t)if(\"cap\"!==e){if(\"join\"===e){var i=\"round\"===this.params[e],n=\"round\"===t[e];if(i!==n){x.error(\"join cannot be changed after creation\");continue}}if(\"stipplePattern\"===e){var r=!!this.params[e],a=!!t[e];if(r!==a){x.error(\"stippledness cannot be changed after creation\");continue}}this.params[e]=t[e]}else x.error(\"cap cannot be changed after creation\");this.validateParams(),this.notifyDirty(\"matChanged\")},e.prototype.getParameters=function(){return this.params},e.prototype.getPassParameters=function(){return this.params},e.prototype.getTechniqueConfig=function(t){this.techniqueConfig.output=t;var e=s.isSome(this.params.stipplePattern);return this.techniqueConfig.stippleEnabled=e,this.techniqueConfig.stippleIntegerRepeatsEnabled=e&&this.params.stippleIntegerRepeats,this.techniqueConfig.stippleOffColorEnabled=e&&s.isSome(this.params.stippleOffColor),this.techniqueConfig.slicePlaneEnabled=this.params.slicePlaneEnabled,this.techniqueConfig.roundJoins=\"round\"===this.params.join,this.techniqueConfig.roundCaps=\"round\"===this.params.cap,this.techniqueConfig.transparent=this.params.transparent,this.techniqueConfig.polygonOffset=this.params.polygonOffset,this.techniqueConfig.writeDepth=this.params.writeDepth,this.techniqueConfig.vvColor=this.params.vvColorEnabled,this.techniqueConfig.vvOpacity=this.params.vvOpacityEnabled,this.techniqueConfig.vvSize=this.params.vvSizeEnabled,this.techniqueConfig.writeDepth=this.params.writeDepth,this.techniqueConfig.writeDepth=this.params.writeDepth,this.techniqueConfig},e.prototype.intersect=function(t,e,i,n,r,a,s,o,c){c?C.intersectDrapedRenderLineGeometry(t,n,a,this.params.width,s):this.intersectLineGeometry(t,e,i,n,this.params.width,s)},e.prototype.intersectLineGeometry=function(t,e,i,n,r,s){if(n.options.selectionMode&&!v.isAllHidden(e.componentVisibilities,t.componentOffsets)){if(!m.isTranslationMatrix(i))return void x.error(\"intersection assumes a translation-only matrix\");var o=t.data,u=o.getVertexAttr(),h=u[y.RibbonVertexAttributeConstants.POSITION].data,b=r;if(this.params.vvSizeEnabled){var f=u[y.RibbonVertexAttributeConstants.SIZEFEATUREATTRIBUTE].data[0];b*=a.clamp(this.params.vvSizeOffset[0]+f*this.params.vvSizeFactor[0],this.params.vvSizeMinSize[0],this.params.vvSizeMaxSize[0])}else u[y.RibbonVertexAttributeConstants.SIZE]&&(b*=u[y.RibbonVertexAttributeConstants.SIZE].data[0]);var d=n.camera,g=B;c.vec2.copy(g,n.point);var C=b*d.pixelRatio,A=4*d.pixelRatio,S=C/2+A;p.vec3.set(H[0],g[0]-S,g[1]+S,0),p.vec3.set(H[1],g[0]+S,g[1]+S,0),p.vec3.set(H[2],g[0]+S,g[1]-S,0),p.vec3.set(H[3],g[0]-S,g[1]-S,0);for(var R=0;R<4;R++)d.unprojectPoint(H[R],Y[R]);l.plane.fromPoints(d.eye,Y[0],Y[1],_),l.plane.fromPoints(d.eye,Y[1],Y[2],W),l.plane.fromPoints(d.eye,Y[2],Y[3],K),l.plane.fromPoints(d.eye,Y[3],Y[0],Q);for(var P=Number.MAX_VALUE,E=this.params.isClosed?h.length-2:h.length-5,R=0;R<E;R+=3){U[0]=h[R]+i[12],U[1]=h[R+1]+i[13],U[2]=h[R+2]+i[14];var I=(R+3)%h.length;if(w[0]=h[I]+i[12],w[1]=h[I+1]+i[13],w[2]=h[I+2]+i[14],!(l.plane.signedDistance(_,U)<0&&l.plane.signedDistance(_,w)<0||l.plane.signedDistance(W,U)<0&&l.plane.signedDistance(W,w)<0||l.plane.signedDistance(K,U)<0&&l.plane.signedDistance(K,w)<0||l.plane.signedDistance(Q,U)<0&&l.plane.signedDistance(Q,w)<0)){if(d.projectPoint(U,N),d.projectPoint(w,z),N[2]<0&&z[2]>0){p.vec3.subtract(D,U,w);var O=d.frustum,V=-l.plane.signedDistance(O.planes[4],U),T=V/p.vec3.dot(D,O.planes[4]);p.vec3.scale(D,D,T),p.vec3.add(U,U,D),d.projectPoint(U,N)}else if(N[2]>0&&z[2]<0){p.vec3.subtract(D,w,U);var O=d.frustum,V=-l.plane.signedDistance(O.planes[4],w),T=V/p.vec3.dot(D,O.planes[4]);p.vec3.scale(D,D,T),p.vec3.add(w,w,D),d.projectPoint(w,z)}else if(N[2]<0&&z[2]<0)continue;N[2]=0,z[2]=0;var q=l.lineSegment.distance2(l.lineSegment.fromPoints(N,z,Z),g);q<P&&(P=q,p.vec3.copy(j,U),p.vec3.copy(F,w))}}var L=n.rayBeginPoint,J=n.rayEndPoint;if(P<S*S){var X=Number.MAX_VALUE;if(l.lineSegment.closestLineSegmentPoint(l.lineSegment.fromPoints(j,F,Z),l.lineSegment.fromPoints(L,J,G),M)){p.vec3.subtract(M,M,L);var k=p.vec3.length(M);p.vec3.scale(M,M,1/k),X=k/p.vec3.distance(L,J)}s(X,M)}}},e.prototype.computeAttachmentOrigin=function(t,e){var i=t.data,n=\"getVertexAttr\"in i?i.getVertexAttr():\"vertexAttr\"in i?i.vertexAttr:null;if(!n)return null;var r=y.RibbonVertexAttributeConstants.POSITION,a=n[r];return b.computeAttachmentOriginLines(a,null,e)},e.prototype.createLayout=function(){var t=h.newLayout().vec3f(y.RibbonVertexAttributeConstants.POSITION).f32(y.RibbonVertexAttributeConstants.SUBDIVISIONFACTOR).vec2f(y.RibbonVertexAttributeConstants.UV0).vec3f(y.RibbonVertexAttributeConstants.AUXPOS1).vec3f(y.RibbonVertexAttributeConstants.AUXPOS2);return this.params.vvSizeEnabled?t.f32(y.RibbonVertexAttributeConstants.SIZEFEATUREATTRIBUTE):t.f32(y.RibbonVertexAttributeConstants.SIZE),this.params.vvColorEnabled?t.f32(y.RibbonVertexAttributeConstants.COLORFEATUREATTRIBUTE):t.vec4f(y.RibbonVertexAttributeConstants.COLOR),this.params.vvOpacityEnabled&&t.f32(y.RibbonVertexAttributeConstants.OPACITYFEATUREATTRIBUTE),t},e.prototype.createBufferWriter=function(){return new T(this.layout,this.params)},e.prototype.createRenderer=function(t,e){return new A(t,e,this,y.ribbonVertexAttributeLocations)},e.prototype.getGLMaterials=function(){return{color:I,depthShadowMap:void 0,normal:void 0,depth:void 0,highlight:O}},e.prototype.validateParams=function(){this.params.width&&this.params.width>1&&(this.params.width=Math.round(this.params.width)),\"miter\"!==this.params.join&&(this.params.miterLimit=0)},e}(d.Material),E=function(t){function e(e){var i=t.call(this,e)||this;return i.output=e.output,i.updateParameters(),i}return i(e,t),e.prototype.updateParameters=function(){this.technique=this.techniqueRep.acquireAndReleaseExisting(S.RibbonLineTechnique,this.material.getTechniqueConfig(this.output),this.technique)},e.prototype.beginSlot=function(t){if(0===this.output){return t===(this.technique.configuration.writeDepth?6:9)}return 4===t},e.prototype.getProgram=function(){return this.technique.program},e.prototype.getPrograms=function(){return null},e.prototype.bind=function(t,e){t.bindProgram(this.technique.program),this.technique.bindPipelineState(t),this.technique.bindPass(t,this.material.getPassParameters(),e)},e.prototype.release=function(){},e.prototype.bindView=function(t){this.technique.bindDraw(t)},e.prototype.bindInstance=function(t){this.technique.bindInstance(t)},e.prototype.getDrawMode=function(){return 5},e}(f.GLMaterial),I=function(t){function e(e){return t.call(this,n({},e,{output:0}))||this}return i(e,t),e}(E),O=function(t){function e(e){return t.call(this,n({},e,{output:4}))||this}return i(e,t),e}(E),V=n({width:0,color:[1,1,1,1],join:\"miter\",cap:\"butt\",miterLimit:5,writeDepth:!0,polygonOffset:!1,stipplePattern:null,stippleIntegerRepeats:!1,stippleOffColor:null,slicePlaneEnabled:!1,vvFastUpdate:!1,transparent:!1,isClosed:!1},g.Default),T=function(){function t(t,e){if(this.params=e,this.numCapSubdivisions=0,this.numJoinSubdivisions=0,this.vertexBufferLayout=t,!e.isClosed)switch(this.params.cap){case\"butt\":this.numCapSubdivisions=0;break;case\"square\":this.numCapSubdivisions=1;break;case\"round\":this.numCapSubdivisions=q}switch(this.params.join){case\"miter\":case\"bevel\":this.numJoinSubdivisions=e.stipplePattern?1:0;break;case\"round\":this.numJoinSubdivisions=L}}return t.prototype.allocate=function(t){return this.vertexBufferLayout.createBuffer(t)},t.prototype.elementCount=function(t){var e=2*this.numCapSubdivisions+2,i=t.indices[y.RibbonVertexAttributeConstants.POSITION].length/2+1,n=this.params.isClosed,r=n?2:2*e,a=n?0:1,s=n?i:i-1;if(t.vertexAttr[y.RibbonVertexAttributeConstants.SUBDIVISIONS])for(var o=t.vertexAttr[y.RibbonVertexAttributeConstants.SUBDIVISIONS].data,c=a;c<s;++c){var p=o[c];r+=4+2*p}else{r+=s*(2*this.numJoinSubdivisions+4)}return r+=2},t.prototype.write=function(t,e,i,n){var r=this,a=J,s=X,o=k,c=e.vertexAttr[y.RibbonVertexAttributeConstants.POSITION].data,u=e.indices&&e.indices[y.RibbonVertexAttributeConstants.POSITION];u&&u.length!==2*(c.length/3-1)&&console.warn(\"RibbonLineMaterial does not support indices\");var l=null;e.vertexAttr[y.RibbonVertexAttributeConstants.SUBDIVISIONS]&&(l=e.vertexAttr[y.RibbonVertexAttributeConstants.SUBDIVISIONS].data);var h=1,v=0;this.params.vvSizeEnabled?v=e.vertexAttr[y.RibbonVertexAttributeConstants.SIZEFEATUREATTRIBUTE].data[0]:e.vertexAttr[y.RibbonVertexAttributeConstants.SIZE]&&(h=e.vertexAttr[y.RibbonVertexAttributeConstants.SIZE].data[0]);var b=[1,1,1,1],f=0;this.params.vvColorEnabled?f=e.vertexAttr[y.RibbonVertexAttributeConstants.COLORFEATUREATTRIBUTE].data[0]:e.vertexAttr[y.RibbonVertexAttributeConstants.COLOR]&&(b=e.vertexAttr[y.RibbonVertexAttributeConstants.COLOR].data);var d=0;this.params.vvOpacityEnabled&&(d=e.vertexAttr[y.RibbonVertexAttributeConstants.OPACITYFEATUREATTRIBUTE].data[0]);var m=c.length/3,g=t.transformation,C=new Float32Array(i.buffer),A=this.vertexBufferLayout.stride/4,S=n*A,x=S,P=function(t,e,i,n,a,s){C[S++]=e[0],C[S++]=e[1],C[S++]=e[2],C[S++]=n,C[S++]=a,C[S++]=s,C[S++]=t[0],C[S++]=t[1],C[S++]=t[2],C[S++]=i[0],C[S++]=i[1],C[S++]=i[2],r.params.vvSizeEnabled?C[S++]=v:C[S++]=h,r.params.vvColorEnabled?C[S++]=f:(C[S++]=b[0],C[S++]=b[1],C[S++]=b[2],C[S++]=b[3]),r.params.vvOpacityEnabled&&(C[S++]=d)};S+=A,p.vec3.set(s,c[0],c[1],c[2]),g&&p.vec3.transformMat4(s,s,g);var E=this.params.isClosed;if(E){var I=c.length-3;p.vec3.set(a,c[I],c[I+1],c[I+2]),g&&p.vec3.transformMat4(a,a,g)}else{p.vec3.copy(a,s),p.vec3.set(o,c[3],c[4],c[5]),g&&p.vec3.transformMat4(o,o,g);for(var O=0;O<this.numCapSubdivisions;++O){var V=1-O/this.numCapSubdivisions;P(a,s,o,V,1,-4),P(a,s,o,V,1,4)}P(a,s,o,0,0,-4),P(a,s,o,0,0,4),p.vec3.copy(a,s),p.vec3.copy(s,o)}for(var T=E?0:1,q=E?m:m-1,O=T;O<q;O++){var L=(O+1)%m*3;p.vec3.set(o,c[L+0],c[L+1],c[L+2]),g&&p.vec3.transformMat4(o,o,g),P(a,s,o,0,1,-1),P(a,s,o,0,1,1);for(var U=l?l[O]:this.numJoinSubdivisions,w=0;w<U;++w){var V=(w+1)/(U+1);P(a,s,o,V,1,-2),P(a,s,o,V,1,2)}P(a,s,o,1,0,-2),P(a,s,o,1,0,2),p.vec3.copy(a,s),p.vec3.copy(s,o)}if(E){S=R(C,x+A,C,S,2*A)}else{P(a,s,o,0,1,-5),P(a,s,o,0,1,5);for(var O=0;O<this.numCapSubdivisions;++O){var V=(O+1)/this.numCapSubdivisions;P(a,s,o,V,1,-5),P(a,s,o,V,1,5)}}R(C,x+A,C,x,A),S=R(C,S-A,C,S,A)},t}(),q=3,L=1,U=u.vec3f64.create(),w=u.vec3f64.create(),D=u.vec3f64.create(),M=u.vec3f64.create(),B=u.vec3f64.create(),N=o.createRenderScreenPointArray3(),z=o.createRenderScreenPointArray3(),j=u.vec3f64.create(),F=u.vec3f64.create(),Z=l.lineSegment.create(),G=l.lineSegment.create(),J=u.vec3f64.create(),X=u.vec3f64.create(),k=u.vec3f64.create(),H=[o.createRenderScreenPointArray3(),o.createRenderScreenPointArray3(),o.createRenderScreenPointArray3(),o.createRenderScreenPointArray3()],Y=[u.vec3f64.create(),u.vec3f64.create(),u.vec3f64.create(),u.vec3f64.create()],_=l.plane.create(),W=l.plane.create(),K=l.plane.create(),Q=l.plane.create();return 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/mat3f64\",\"../../../../core/libs/gl-matrix-2/vec3f32\"],function(e,v,a,i){var o;return function(e){e.Default={vvSizeEnabled:!1,vvSizeMinSize:i.vec3f32.fromValues(1,1,1),vvSizeMaxSize:i.vec3f32.fromValues(100,100,100),vvSizeOffset:i.vec3f32.fromValues(0,0,0),vvSizeFactor:i.vec3f32.fromValues(1,1,1),vvSizeValue:i.vec3f32.fromValues(1,1,1),vvColorEnabled:!1,vvColorValues:[0,0,0,0,0,0,0,0],vvColorColors:[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0],vvOpacityEnabled:!1,vvOpacityValues:[0,0,0,0,0,0,0,0],vvOpacityOpacities:[1,1,1,1,1,1,1,1],vvSymbolAnchor:[0,0,0],vvSymbolRotationMatrix:a.mat3f64.create()}}(o||(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\",\"../../../../core/tsSupport/extendsHelper\",\"../lib/GLMaterial\",\"./WaterTechnique\",\"./internal/MaterialUtil\",\"./internal/waterMaterialUtils\"],function(e,t,i,r,a,n,o){Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(e){function t(t){var i=e.call(this,t)||this;return i.techniqueConfig=new a.WaterTechniqueConfiguration,i.updateParameters(),i}return i(t,e),t.prototype.updateParameters=function(){this.params=n.copyParameters(this.material.getParameters()),this.selectProgram(0)},t.prototype.selectProgram=function(e){this.techniqueConfig.output=e,this.techniqueConfig.writeDepth=this.params.writeDepth,this.techniqueConfig.receiveShadows=this.params.receiveShadows,this.techniqueConfig.slice=this.params.slicePlaneEnabled,this.techniqueConfig.transparent=this.params.transparent,this.technique=this.techniqueRep.acquireAndReleaseExisting(a.WaterTechnique,this.techniqueConfig,this.technique)},t.prototype.beginSlot=function(e){var t=4;return this.params.transparent&&(t=this.params.writeDepth?6:9),e===t},t.prototype.getProgram=function(){return this.technique.program},t.prototype.getPrograms=function(){return null},t.prototype._initTextures=function(e){this.texturePaths=[this.params.waveTexture,this.params.perturbationTexture],o.waterTextureRepo.initialize(e,this.texturePaths)},t.prototype._setWaveUniforms=function(e){e.setUniform1i(\"texWaveNormal\",0),e.setUniform1i(\"texWavePerturbation\",1),e.setUniform4f(\"waveParams\",this.params.waveStrength,this.params.waveTextureRepeat,this.params.flowStrength,this.params.flowOffset),e.setUniform2f(\"waveDirection\",this.params.waveDirection[0]*this.params.waveVelocity,this.params.waveDirection[1]*this.params.waveVelocity);var t=.001*this.material.animation.time;e.setUniform1f(\"timeElapsed\",t*this.params.animationSpeed)},t.prototype._updateShadowState=function(e){e.shadowMappingEnabled!==this.params.receiveShadows&&(this.material.setParameterValues({receiveShadows:e.shadowMappingEnabled}),this.updateParameters())},t.prototype.ensureResources=function(e){return o.waterTextureRepo.ready()||o.waterTextureRepo.loading()||this._initTextures(e),o.waterTextureRepo.ready()?2:1},t.prototype.bind=function(e,t){o.waterTextureRepo.ready()&&(this._updateShadowState(t),e.bindProgram(this.technique.program),e.setPipelineState(this.technique.pipeline),o.waterTextureRepo.bindRepo(e),this.technique.program.setUniform4fv(\"waterColor\",this.params.color),this._setWaveUniforms(this.technique.program))},t.prototype.release=function(){},t.prototype.bindView=function(e){var t=this.technique.program;t.setUniform3fv(\"localOrigin\",e.origin),n.bindView(e.origin,e.view,t),n.bindCamPos(e.origin,e.viewInvTransp,t),this.params.slicePlaneEnabled&&n.bindSlicePlane(e.origin,e.slicePlane,t),e.shadowMappingEnabled&&(e.shadowMap.bind(t),e.shadowMap.bindView(t,e.origin))},t.prototype.bindInstance=function(e){this.technique.program.setUniformMatrix4fv(\"model\",e.transformation)},t.prototype.getDrawMode=function(){return 4},t}(r.GLMaterial);t.WaterGLMaterial=s;var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.updateParameters=function(){this.params=n.copyParameters(this.material.getParameters()),this.selectProgram(5)},t.prototype.bind=function(e){e.bindProgram(this.technique.program),e.setPipelineState(this.technique.pipeline),this.technique.program.setUniform4fv(\"waterColor\",this.params.color)},t.prototype.bindView=function(e){this.technique.program.setUniform3fv(\"localOrigin\",e.origin),n.bindView(e.origin,e.view,this.technique.program)},t.prototype.beginSlot=function(e){return null==e},t}(s);t.WaterDrapedGLMaterial=p;var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.updateParameters=function(){this.params=n.copyParameters(this.material.getParameters()),this.selectProgram(2)},t.prototype.bind=function(e){o.waterTextureRepo.ready()&&(e.bindProgram(this.technique.program),e.setPipelineState(this.technique.pipeline),o.waterTextureRepo.bindRepo(e),this._setWaveUniforms(this.technique.program))},t.prototype.bindView=function(e){this.technique.program.setUniform3fv(\"localOrigin\",e.origin),n.bindView(e.origin,e.view,this.technique.program)},t.prototype.beginSlot=function(e){return 19===e},t}(s);t.WaterNormalGLMaterial=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\",\"../../../../core/tsSupport/decorateHelper\",\"../../../../core/tsSupport/assignHelper\",\"../core/shaderTechnique/ReloadableShaderModule\",\"../core/shaderTechnique/ShaderTechnique\",\"../core/shaderTechnique/ShaderTechniqueConfiguration\",\"../lib/DefaultVertexAttributeLocations\",\"../shaders/WaterSurface.glsl\",\"../../../webgl/Program\",\"../../../webgl/renderState\"],function(e,t,r,i,a,o,n,u,p,l,s,d){Object.defineProperty(t,\"__esModule\",{value:!0});var c=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return r(i,t),i.prototype.initializeProgram=function(e){var t=i.shader.get(),r=this.configuration,a=t.build({output:r.output,viewingMode:e.viewingMode,slicePlaneEnabled:r.slice,sliceHighlightDisabled:!1,receiveShadows:r.receiveShadows,usePBR:!1,usePBRforWater:!0,useCustomDTRExponentForWater:!0});return new s(e.rctx,a.generateSource(\"vertex\"),a.generateSource(\"fragment\"),p.Default3D)},i.prototype.initializePipeline=function(){var e=this.configuration;return 2===e.output?d.makePipelineState({depthTest:{func:513},depthWrite:e.writeDepth&&d.defaultDepthWriteParams,colorWrite:d.defaultColorWriteParams}):d.makePipelineState({blending:e.transparent&&d.separateBlendingParams(770,1,771,771),depthTest:{func:513},depthWrite:e.writeDepth&&d.defaultDepthWriteParams,colorWrite:d.defaultColorWriteParams})},i.prototype.bindPipelineState=function(e){e.setPipelineState(this.pipeline)},i.shader=new o.ReloadableShaderModule(l,\"../shaders/WaterSurface.glsl\",e),i}(n.ShaderTechnique);t.WaterTechnique=c;var h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.output=0,t.receiveShadows=!1,t.slice=!1,t.transparent=!1,t.writeDepth=!1,t}return r(t,e),i([u.parameter({count:6})],t.prototype,\"output\",void 0),i([u.parameter()],t.prototype,\"receiveShadows\",void 0),i([u.parameter()],t.prototype,\"slice\",void 0),i([u.parameter()],t.prototype,\"transparent\",void 0),i([u.parameter()],t.prototype,\"writeDepth\",void 0),t}(u.ShaderTechniqueConfiguration);t.WaterTechniqueConfiguration=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\",\"../../../support/buffer/InterleavedLayout\",\"../../lib/Util\",\"./bufferWriterUtils\"],function(t,e,r,n,o){Object.defineProperty(e,\"__esModule\",{value:!0}),e.PositionLayout=r.newLayout().vec3f(n.VertexAttrConstants.POSITION),e.PositionUVLayout=r.newLayout().vec3f(n.VertexAttrConstants.POSITION).vec2f(n.VertexAttrConstants.UV0),e.PositionColorLayout=r.newLayout().vec3f(n.VertexAttrConstants.POSITION).vec4u8(n.VertexAttrConstants.COLOR);var u=function(){function t(t){this.vertexBufferLayout=t}return t.prototype.allocate=function(t){return this.vertexBufferLayout.createBuffer(t)},t.prototype.elementCount=function(t){return t.indices[n.VertexAttrConstants.POSITION].length},t.prototype.write=function(t,e,r,n){o.writeDefaultAttributes(e,this.vertexBufferLayout,t.transformation,t.invTranspTransformation,r,n)},t}();e.DefaultBufferWriter=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/mathUtils\",\"../../../../../core/maybe\",\"../../../../../core/libs/gl-matrix-2/mat4\",\"../../../../../core/libs/gl-matrix-2/mat4f32\",\"../../../../../core/libs/gl-matrix-2/mat4f64\",\"../../../../../core/libs/gl-matrix-2/vec3\",\"../../../../../core/libs/gl-matrix-2/vec3f64\",\"../../../../../core/libs/gl-matrix-2/vec4\",\"../../../../../geometry/support/aaBoundingBox\",\"../../lib/ComponentUtils\",\"../../lib/doublePrecisionUtils\",\"../../lib/screenSizePerspectiveUtils\",\"../../lib/Util\"],function(e,t,r,i,n,a,o,c,s,f,l,u,v,m,d,g){function p(e,t,r,i,n,a,o){var c=t&&t.componentVisibilities,s=r.tolerance;if(e.componentCount>1)b(e,c,i,n,s,a,o);else if(!c||v.getVisibility(c,0))if(e.boundingInfo)g.assert(\"triangle\"===e.data.primitiveType),h(e.boundingInfo,i,n,s,a,o);else{var f=e.getIndices(X.POSITION),l=e.getAttribute(X.POSITION),u=f.length/3;x(i,n,0,u,f,l,void 0,a,o)}}function h(e,t,r,i,a,o){var c=B(t,r,Z);if(u.setMin(k,e.getBBMin()),u.setMax(k,e.getBBMax()),n.isSome(a)&&a.applyToAABB(k),S(k,t,c,i)){var s=e.getPrimitiveIndices(),f=e.getIndices(),l=e.getPosition(),v=s?s.length:f.length/3;if(v>ne){var m=e.getChildren();if(void 0!==m){for(var d=0;d<8;++d)void 0!==m[d]&&h(m[d],t,r,i,a,o);return}}x(t,r,0,v,f,l,s,a,o)}}function b(e,t,r,i,a,o,c){var s=B(r,i,Z),f=e.componentCount,l=e.componentOffsets,m=e.getIndices(X.POSITION),d=e.getAttribute(X.POSITION),g=e.boundingInfo;if(!g||(u.setMin(k,g.getBBMin()),u.setMax(k,g.getBBMax()),n.isSome(o)&&o.applyToAABB(k),S(k,r,s,a)))for(var p=0;p<f;p++)if(!t||v.getVisibility(t,p)){if(e.getComponentAABB){var h=e.getComponentAABB(p,k);if(n.isSome(o)&&o.applyToAABB(h),!S(h,r,s,a))continue}var b=l[p]/3,M=l[p+1]/3;x(r,i,b,M,m,d,void 0,o,c)}}function x(e,t,r,i,a,o,c,s,f){var l,u,v;if(c)return M(e,t,r,i,a,o,c,s,f);for(var m=o.data,d=o.offsetIdx,g=o.strideIdx,p=e[0],h=e[1],b=e[2],x=t[0],B=t[1],S=t[2],A=x-p,I=B-h,T=S-b,y=r,O=3*r;y<i;++y){var U=d+g*a[O++],L=m[U++],V=m[U++],w=m[U];U=d+g*a[O++];var D=m[U++],W=m[U++],R=m[U];U=d+g*a[O++];var E=m[U++],N=m[U++],C=m[U];n.isSome(s)&&(l=s.applyToVertex(L,V,w),L=l[0],V=l[1],w=l[2],u=s.applyToVertex(D,W,R),D=u[0],W=u[1],R=u[2],v=s.applyToVertex(E,N,C),E=v[0],N=v[1],C=v[2]);var z=D-L,F=W-V,H=R-w,q=E-L,_=N-V,j=C-w,G=I*j-_*T,Y=T*q-j*A,k=A*_-q*I,X=z*G+F*Y+H*k;if(!(Math.abs(X)<=J)){var Z=p-L,Q=h-V,$=b-w,ee=Z*G+Q*Y+$*k;if(X>0){if(ee<0||ee>X)continue}else if(ee>0||ee<X)continue;var te=Q*H-F*$,re=$*z-H*Z,ie=Z*F-z*Q,ne=A*te+I*re+T*ie;if(X>0){if(ne<0||ee+ne>X)continue}else if(ne>0||ee+ne<X)continue;var ae=(q*te+_*re+j*ie)/X;if(ae>=0){f(ae,P(z,F,H,q,_,j,K),y)}}}}function M(e,t,r,i,a,o,c,s,f){for(var l,u,v,m=o.data,d=o.offsetIdx,g=o.strideIdx,p=e[0],h=e[1],b=e[2],x=t[0],M=t[1],B=t[2],S=x-p,A=M-h,I=B-b,T=r;T<i;++T){var y=c[T],O=3*y,U=d+g*a[O++],L=m[U++],V=m[U++],w=m[U];U=d+g*a[O++];var D=m[U++],W=m[U++],R=m[U];U=d+g*a[O];var E=m[U++],N=m[U++],C=m[U];n.isSome(s)&&(l=s.applyToVertex(L,V,w),L=l[0],V=l[1],w=l[2],u=s.applyToVertex(D,W,R),D=u[0],W=u[1],R=u[2],v=s.applyToVertex(E,N,C),E=v[0],N=v[1],C=v[2]);var z=D-L,F=W-V,H=R-w,q=E-L,_=N-V,j=C-w,G=A*j-_*I,Y=I*q-j*S,k=S*_-q*A,X=z*G+F*Y+H*k;if(!(Math.abs(X)<=J)){var Z=p-L,Q=h-V,$=b-w,ee=Z*G+Q*Y+$*k;if(X>0){if(ee<0||ee>X)continue}else if(ee>0||ee<X)continue;var te=Q*H-F*$,re=$*z-H*Z,ie=Z*F-z*Q,ne=S*te+A*re+I*ie;if(X>0){if(ne<0||ee+ne>X)continue}else if(ne>0||ee+ne<X)continue;var ae=(q*te+_*re+j*ie)/X;if(ae>=0){f(ae,P(z,F,H,q,_,j,K),y)}}}}function P(e,t,r,i,n,a,o){return s.vec3.set(Q,e,t,r),s.vec3.set($,i,n,a),s.vec3.cross(o,Q,$),s.vec3.normalize(o,o),o}function B(e,t,r){return s.vec3.set(r,1/(t[0]-e[0]),1/(t[1]-e[1]),1/(t[2]-e[2]))}function S(e,t,r,i){return A(e,t,r,i,1/0)}function A(e,t,r,i,n){var a=(e[0]-i-t[0])*r[0],o=(e[3]+i-t[0])*r[0],c=Math.min(a,o),s=Math.max(a,o),f=(e[1]-i-t[1])*r[1],l=(e[4]+i-t[1])*r[1];if((s=Math.min(s,Math.max(f,l)))<0)return!1;if((c=Math.max(c,Math.min(f,l)))>s)return!1;var u=(e[2]-i-t[2])*r[2],v=(e[5]+i-t[2])*r[2];return!((s=Math.min(s,Math.max(u,v)))<0)&&(!((c=Math.max(c,Math.min(u,v)))>s)&&c<n)}function I(e,t,r){return l.vec4.set(r,e[0]-t[0],e[1]-t[1],e[2]-t[2],1)}function T(e,t,r,i){return a.mat4.translate(Y,r,t),r=Y,l.vec4.transformMat4(i,e,r)}function y(e,t,r,i){return i[0]=e[0]+r[0],i[1]=e[1]+r[1],i[2]=e[2]+r[2],i[3]=e[3],l.vec4.transformMat4(i,i,t)}function O(e,t){return l.vec4.scale(t,e,1/Math.abs(e[3]))}function U(e,t,r,i){return d.scale(e,r,t,i)}function L(e,t,r,n,a){var o=(r.screenLength||0)*e.pixelRatio;a&&(o=U(o,t,n,a));var c=o*Math.tan(.5*e.fovY)/(.5*e.fullHeight);return i.clamp(c*t,r.minWorldLength||0,null!=r.maxWorldLength?r.maxWorldLength:1/0)}function V(e,t,r){if(void 0!==e)return t.acquire(e,r)}function w(e,t){void 0!==e&&t.release(e)}function D(e,t,r){a.mat4.translate(ee,t,e),r.setUniform3fv(\"localOrigin\",e),r.setUniformMatrix4fv(\"view\",ee)}function W(e,t,r){r.setUniform3f(\"camPos\",t[3]-e[0],t[7]-e[1],t[11]-e[2])}function R(e,t){m.encodeDoubleArraySplit(e,te,re,3),t.setUniform3fv(\"viewOriginHi\",te),t.setUniform3fv(\"viewOriginLo\",re)}function E(e,t,r){s.vec3.subtract(ie,t.origin,e),r.setUniform3fv(\"slicePlaneOrigin\",ie),r.setUniform3fv(\"slicePlaneBasis1\",t.basis1),r.setUniform3fv(\"slicePlaneBasis2\",t.basis2)}function N(e,t,r){if(e){var i=z(e,t.fovY,t.viewport[3]),n=t.pixelRatio||1;r.setUniform4f(\"verticalOffset\",i.screenLength*n,i.perDistance,i.minWorldLength,i.maxWorldLength)}}function C(e,t,r){e.bindTexture(t.highlightDepthTexture,5),r.setUniform1i(\"depthTex\",5),r.setUniform4f(\"highlightViewportPixelSz\",0,0,1/t.viewport[2],1/t.viewport[3])}function z(e,t,r,i){return void 0===i&&(i=ae),i.screenLength=e.screenLength,i.perDistance=Math.tan(.5*t)/(.5*r),i.minWorldLength=e.minWorldLength,i.maxWorldLength=e.maxWorldLength,i}function F(e,t,r){if(void 0===r&&(r=\"screenSizePerspectiveAlignment\"),e){var i=e.parameters,n=e.paddingPixelsOverride;t.setUniform4f(r,i.divisor,i.offset,i.minPixelSize,n)}}function H(e,t){var r=t?H(t):{};for(var i in e){var n=e[i];n&&n.forEach&&(n=j(n)),null==n&&i in r||(r[i]=n)}return r}function q(e,t){var r=!1;for(var i in t){var n=t[i];void 0!==n&&(r=!0,Array.isArray(n)?e[i]=n.slice():e[i]=n)}return r}function _(e,t,r,n,a){if(t.options.selectionMode){for(var o=e.getAttribute(X.POSITION).data,c=e.getAttribute(X.SIZE),s=c&&c.data[0],f=r[0],l=r[1],u=s+n,v=(u/2+4)*e.pixelRatio,m=Number.MAX_VALUE,d=0;d<o.length-5;d+=3){var g=o[d],p=o[d+1],h=o[d+3],b=o[d+4],x=f-g,M=l-p,P=h-g,B=b-p,S=P*x+B*M,A=P*P+B*B,I=i.clamp(S/A,0,1),T=P*I-x,y=B*I-M,O=T*T+y*y;O<m&&(m=O)}m<v*v&&a()}}function j(e){var t=[];return e.forEach(function(e){return t.push(e)}),t}function G(e,i){return r({usePBR:e},i?t.defaultPBRTreeMaterialParameters:t.defaultPBRMaterialParameters)}Object.defineProperty(t,\"__esModule\",{value:!0});var Y=c.mat4f64.create(),k=u.create(),X=g.VertexAttrConstants;t.intersectTriangleGeometry=p;var Z=f.vec3f64.create(),J=Math.pow(2,-52),K=f.vec3f64.create();t.intersectTriangles=x;var Q=f.vec3f64.create(),$=f.vec3f64.create();t.computeNormal=P,t.computeInvDir=B,t.intersectAabbInvDir=S,t.intersectAabbInvDirBefore=A,t.transformToWorld=I,t.transformToView=T,t.transformToProjection=y,t.transformToNDC=O,t.applyScreenSizePerspectiveScale=U,t.verticalOffsetAtDistance=L,t.acquireIfNotUndefined=V,t.releaseIfNotUndefined=w;var ee=o.mat4f32.create();t.bindView=D,t.bindCamPos=W;var te=f.vec3f64.create(),re=f.vec3f64.create();t.bindViewOriginDouble=R;var ie=f.vec3f64.create();t.bindSlicePlane=E,t.bindVerticalOffset=N,t.bindHighlightRendering=C,t.bindScreenSizePerspective=F,t.copyParameters=H,t.updateParameters=q;!function(e){function t(e,t){for(var r=[],i=0;i<2;i++)for(var a=0;a<2;a++){var o=n({shadowMappingEnabled:1===i,ssaoEnabled:1===a}),c=n({shadowMappingEnabled:1===i,ssaoEnabled:1===a&&e.receiveSSAO});r[o]=r[c]||t({receiveShadows:1===i,receiveSSAO:1===a&&e.receiveSSAO})}return{programs:r.filter(function(e){return null!=e}),byParameter:r}}function r(e,t){return e.byParameter[n(t)]}function i(e){return e.programs}function n(e){return(e.shadowMappingEnabled?1:0)|(e.ssaoEnabled?2:0)}e.create=t,e.lookup=r,e.programs=i}(t.BindParametersMap||(t.BindParametersMap={})),t.intersectDrapedRenderLineGeometry=_,t.colorMixModes={multiply:1,ignore:2,replace:3,tint:4};var ne=1e3,ae={screenLength:0,perDistance:0,minWorldLength:0,maxWorldLength:0};t.defaultPBRMaterialParameters={roughnessFactor:.6,metallicFactor:0,reflectanceFactor:.2},t.defaultPBRTreeMaterialParameters={roughnessFactor:1,metallicFactor:0,reflectanceFactor:.2},t.getDefaultPBRMaterialParameters=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\",\"../../../support/buffer/BufferView\",\"../../lib/Util\"],function(e,r,f,t){function a(e,r,f,t,a){var i=f.typedBuffer,s=f.typedBufferStride,o=e.length;if(t*=s,null==a||1===a)for(var u=0;u<o;++u){var v=2*e[u];i[t]=r[v],i[t+1]=r[v+1],t+=s}else for(var u=0;u<o;++u)for(var v=2*e[u],n=0;n<a;++n)i[t]=r[v],i[t+1]=r[v+1],t+=s}function i(e,r,f,t,a){var i=f.typedBuffer,s=f.typedBufferStride,o=e.length;if(t*=s,null==a||1===a)for(var u=0;u<o;++u){var v=3*e[u];i[t]=r[v],i[t+1]=r[v+1],i[t+2]=r[v+2],t+=s}else for(var u=0;u<o;++u)for(var v=3*e[u],n=0;n<a;++n)i[t]=r[v],i[t+1]=r[v+1],i[t+2]=r[v+2],t+=s}function s(e,r,f,t,a){var i=f.typedBuffer,s=f.typedBufferStride,o=e.length;if(t*=s,null==a||1===a)for(var u=0;u<o;++u){var v=4*e[u];i[t]=r[v],i[t+1]=r[v+1],i[t+2]=r[v+2],i[t+3]=r[v+3],t+=s}else for(var u=0;u<o;++u)for(var v=4*e[u],n=0;n<a;++n)i[t]=r[v],i[t+1]=r[v+1],i[t+2]=r[v+2],i[t+3]=r[v+3],t+=s}function o(e,r,f,t){var a=f.typedBuffer,i=f.typedBufferStride,s=e.length;t*=i;for(var o=0;o<s;++o){for(var u=9*e[o],v=0;v<9;++v)a[t+v]=r[u+v];t+=i}}function u(e,r,f,t){var a=f.typedBuffer,i=f.typedBufferStride,s=e.length;t*=i;for(var o=0;o<s;++o){for(var u=16*e[o],v=0;v<16;++v)a[t+v]=r[u+v];t+=i}}function v(e,r,f,t,a,s){if(f){var o=f,u=t.typedBuffer,v=t.typedBufferStride,n=e.length;if(a*=v,null==s||1===s)for(var l=0;l<n;++l){var d=3*e[l],B=r[d],c=r[d+1],V=r[d+2];u[a]=o[0]*B+o[4]*c+o[8]*V+o[12],u[a+1]=o[1]*B+o[5]*c+o[9]*V+o[13],u[a+2]=o[2]*B+o[6]*c+o[10]*V+o[14],a+=v}else for(var l=0;l<n;++l)for(var d=3*e[l],B=r[d],c=r[d+1],V=r[d+2],p=o[0]*B+o[4]*c+o[8]*V+o[12],w=o[1]*B+o[5]*c+o[9]*V+o[13],y=o[2]*B+o[6]*c+o[10]*V+o[14],g=0;g<s;++g)u[a]=p,u[a+1]=w,u[a+2]=y,a+=v}else i(e,r,t,a,s)}function n(e,r,f,t,a,s){if(f){var o=f,u=t.typedBuffer,v=t.typedBufferStride,n=e.length;if(a*=v,null==s||1===s)for(var l=0;l<n;++l){var d=3*e[l],B=r[d],c=r[d+1],V=r[d+2];u[a]=o[0]*B+o[4]*c+o[8]*V,u[a+1]=o[1]*B+o[5]*c+o[9]*V,u[a+2]=o[2]*B+o[6]*c+o[10]*V,a+=v}else for(var l=0;l<n;++l)for(var d=3*e[l],B=r[d],c=r[d+1],V=r[d+2],p=o[0]*B+o[4]*c+o[8]*V,w=o[1]*B+o[5]*c+o[9]*V,y=o[2]*B+o[6]*c+o[10]*V,g=0;g<s;++g)u[a]=p,u[a+1]=w,u[a+2]=y,a+=v}else i(e,r,t,a,s)}function l(e,r,f,t,a,i){var s=t.typedBuffer,o=t.typedBufferStride,u=e.length;if(a*=o,null==i||1===i){if(4===f)for(var v=0;v<u;++v){var n=4*e[v];s[a]=r[n],s[a+1]=r[n+1],s[a+2]=r[n+2],s[a+3]=r[n+3],a+=o}else if(3===f)for(var v=0;v<u;++v){var n=3*e[v];s[a]=r[n],s[a+1]=r[n+1],s[a+2]=r[n+2],s[a+3]=255,a+=o}}else if(4===f)for(var v=0;v<u;++v)for(var n=4*e[v],l=0;l<i;++l)s[a]=r[n],s[a+1]=r[n+1],s[a+2]=r[n+2],s[a+3]=r[n+3],a+=o;else if(3===f)for(var v=0;v<u;++v)for(var n=3*e[v],l=0;l<i;++l)s[a]=r[n],s[a+1]=r[n+1],s[a+2]=r[n+2],s[a+3]=255,a+=o}function d(e,r,f,t,a,i,s){var o=a.typedBuffer,u=a.typedBufferStride,v=e.length;if(i*=u,null==s||1===s){if(4===f)for(var n=0;n<v;++n){var l=4*e[n];o[i]=r[l]*t[0],o[i+1]=r[l+1]*t[1],o[i+2]=r[l+2]*t[2],o[i+3]=r[l+3]*t[3],i+=u}else if(3===f)for(var d=255*t[3],n=0;n<v;++n){var l=3*e[n];o[i]=r[l]*t[0],o[i+1]=r[l+1]*t[1],o[i+2]=r[l+2]*t[2],o[i+3]=d,i+=u}}else if(4===f)for(var n=0;n<v;++n)for(var l=4*e[n],B=0;B<s;++B)o[i]=r[l]*t[0],o[i+1]=r[l+1]*t[1],o[i+2]=r[l+2]*t[2],o[i+3]=r[l+3]*t[3],i+=u;else if(3===f)for(var d=255*t[3],n=0;n<v;++n)for(var l=3*e[n],B=0;B<s;++B)o[i]=r[l]*t[0],o[i+1]=r[l+1]*t[1],o[i+2]=r[l+2]*t[2],o[i+3]=d,i+=u}function B(e,r,i,o,u,d){for(var B=0,c=r.fieldNames;B<c.length;B++){var V=c[B],p=e.vertexAttr[V],w=e.indices[V];if(p&&w)switch(V){case t.VertexAttrConstants.POSITION:t.assert(3===p.size);var y=u.getField(V,f.BufferViewVec3f);y&&v(w,p.data,i,y,d);break;case t.VertexAttrConstants.NORMAL:t.assert(3===p.size);var g=u.getField(V,f.BufferViewVec3f);g&&n(w,p.data,o,g,d);break;case t.VertexAttrConstants.UV0:t.assert(2===p.size);var h=u.getField(V,f.BufferViewVec2f);h&&a(w,p.data,h,d);break;case t.VertexAttrConstants.REGION:t.assert(4===p.size);var z=u.getField(V,f.BufferViewVec4u16);z&&s(w,p.data,z,d);break;case t.VertexAttrConstants.COLOR:t.assert(3===p.size||4===p.size);var A=u.getField(V,f.BufferViewVec4u8);A&&l(w,p.data,p.size,A,d);break;case t.VertexAttrConstants.SYMBOLCOLOR:t.assert(3===p.size||4===p.size);var C=u.getField(V,f.BufferViewVec4u8);C&&l(w,p.data,p.size,C,d);break;case t.VertexAttrConstants.TANGENT:t.assert(4===p.size);var S=u.getField(V,f.BufferViewVec4f);S&&s(w,p.data,S,d)}}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.writeBufferVec2=a,r.writeBufferVec3=i,r.writeBufferVec4=s,r.writeBufferMat3f=o,r.writeBufferMat4f=u,r.writePosition=v,r.writeNormal=n,r.writeColor=l,r.writeMultipliedColor=d,r.writeDefaultAttributes=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/tsSupport/generatorHelper\",\"../../../../../core/tsSupport/awaiterHelper\",\"../../../../../core/Logger\",\"../../../../../core/libs/gl-matrix-2/vec2f64\",\"../../../support/imageUtils\",\"../../../../webgl/Texture\"],function(e,t,r,a,i,n,o,l){Object.defineProperty(t,\"__esModule\",{value:!0});var u=i.getLogger(\"esri.views.3d.webgl-engine.materials.internal.waterMaterialUtils\");t.waterParameterDefaultsLocal={waveTexture:e.toUrl(\"../../../../../images/materials/water/normals.jpg\"),perturbationTexture:e.toUrl(\"../../../../../images/materials/water/perturbation.jpg\"),waveStrength:.06,waveTextureRepeat:32,waveDirection:n.vec2f64.fromValues(1,0),waveVelocity:.05,flowStrength:.015,flowOffset:-.5,animationSpeed:.35,color:[0,.35686,.4,1],transparent:!1,writeDepth:!0,slicePlaneEnabled:!1,isDraped:!1,receiveShadows:!0},t.wavePresets={\"calm-small\":{waveStrength:.005,perturbationStrength:.02,textureRepeat:12,waveVelocity:.01},\"rippled-small\":{waveStrength:.02,perturbationStrength:.09,textureRepeat:32,waveVelocity:.07},\"slight-small\":{waveStrength:.05,perturbationStrength:.07,textureRepeat:28,waveVelocity:.1},\"moderate-small\":{waveStrength:.075,perturbationStrength:.07,textureRepeat:24,waveVelocity:.1},\"calm-medium\":{waveStrength:.003125,perturbationStrength:.01,textureRepeat:8,waveVelocity:.02},\"rippled-medium\":{waveStrength:.035,perturbationStrength:.015,textureRepeat:12,waveVelocity:.07},\"slight-medium\":{waveStrength:.06,perturbationStrength:.015,textureRepeat:8,waveVelocity:.12},\"moderate-medium\":{waveStrength:.09,perturbationStrength:.03,textureRepeat:4,waveVelocity:.12},\"calm-large\":{waveStrength:.01,perturbationStrength:0,textureRepeat:4,waveVelocity:.05},\"rippled-large\":{waveStrength:.025,perturbationStrength:.01,textureRepeat:8,waveVelocity:.11},\"slight-large\":{waveStrength:.06,perturbationStrength:.02,textureRepeat:3,waveVelocity:.13},\"moderate-large\":{waveStrength:.14,perturbationStrength:.03,textureRepeat:2,waveVelocity:.15}};var p=function(){function e(){this.loadingCount=0,this.data=[],this.loadingState=0}return e.prototype.loadTexture=function(e,t,i){return a(this,void 0,void 0,function(){var a,n;return r(this,function(r){switch(r.label){case 0:this.loadingCount++,r.label=1;case 1:return r.trys.push([1,3,,4]),[4,o.requestImage(i)];case 2:return a=r.sent(),this.data[t]=new l(e,this.getTextureProps(a.width,a.height,!0),a),[3,4];case 3:return n=r.sent(),u.warn(\"Failed to load texture for water material.\",n),this.data[t]=new l(e,this.getTextureProps(1,1,!0)),[3,4];case 4:return this.loadingCount--,[2]}})})},e.prototype.getTextureProps=function(e,t,r){return void 0===r&&(r=!1),{target:3553,pixelFormat:6408,dataType:5121,wrapMode:10497,samplingMode:9987,hasMipmap:r,maxAnisotropy:8,width:e,height:t}},e.prototype.ready=function(){return 2===this.loadingState||1===this.loadingState&&0===this.loadingCount&&(this.loadingState=2,!0)},e.prototype.loading=function(){return 1===this.loadingState},e.prototype.initialize=function(e,t){for(var r=0;r<t.length;r++)this.loadTexture(e,r,t[r]);this.loadingState=1},e.prototype.bindRepo=function(e){for(var t=0;t<this.data.length;t++)e.bindTexture(this.data[t],t)},e}();t.waterTextureRepo=new 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/maybe\",\"../../../webgl\"],function(e,t,r,n){function i(e){return e.slice()}function o(e){return[e,e]}Object.defineProperty(t,\"__esModule\",{value:!0});var u=function(){function e(){this.cache=new Map}return e.prototype.dispose=function(){this.cache.forEach(function(e){r.isSome(e.texture)&&(e.texture.dispose(),e.texture=null)}),this.cache.clear()},e.prototype.acquire=function(e){if(r.isNone(e))return null;var t=this.patternId(e),i=this.cache.get(t);if(i)return i.refCount++,i.bind;var o=this.patternToTextureData(e,2),u=o.length/2,a={refCount:1,texture:null,bind:function(e,t){return r.isNone(a.texture)&&(a.texture=new n.Texture(e,{width:o.length,height:1,internalFormat:6406,pixelFormat:6406,dataType:5121,wrapMode:33071},o)),e.bindTexture(a.texture,t),u}};return this.cache.set(t,a),a.bind},e.prototype.release=function(e){if(!r.isNone(e)){var t=this.patternId(e),n=this.cache.get(t);n&&0===--n.refCount&&(r.isSome(n.texture)&&n.texture.dispose(),this.cache.delete(t))}},e.prototype.swap=function(e,t){var r=this.acquire(t);return this.release(e),r},e.prototype.bind=function(e,t,n,i,o){var u=r.isSome(i)?i(e,o)*t.pixelRatio:1;n.setUniform1i(\"stipplePatternTexture\",o),n.setUniform1f(\"stipplePatternPixelSizeInv\",1/u)},e.prototype.patternId=function(e){return e.join(\",\")},e.prototype.patternToTextureData=function(e,t){for(var r=e.reduce(function(e,t){return e+t})*t,n=new Uint8Array(r),i=!0,o=0,u=0,a=e;u<a.length;u++){for(var p=a[u],c=0;c<p*t;c++)n[o++]=i?255:0;i=!i}return n},e}();t.StippleTextureRepository=u,t.createStipplePattern=i,t.createStipplePatternSimple=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/libs/gl-matrix-2/mat4\",\"../../../../../core/libs/gl-matrix-2/mat4f64\"],function(t,i,a,r){return function(){function t(t,i,n,s,o,e,m,h,l){this.name=t,this.from=i,this.to=n,this.displayedIndexRange=s,this.highlightedIndexRanges=o,this.transformation=e,this.instanceParameters=m,this.idx=h,this.dataId=l,null!=e&&(this.transformationNormal=r.mat4f64.clone(e),a.mat4.invert(this.transformationNormal,this.transformationNormal),a.mat4.transpose(this.transformationNormal,this.transformationNormal))}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\",\"../../../../../core/libs/gl-matrix-2/mat4f64\",\"../../../support/buffer/glUtil\",\"../../lib/DefaultVertexAttributeLocations\",\"./Instance\",\"./utils\",\"../../../../webgl/BufferObject\",\"../../../../webgl/Util\",\"../../../../webgl/VertexArrayObject\"],function(e,t,r,i,n,a,o,h,g,s){function u(e,t){var r=new Map,i=function(e,t){var i=e.origin.id,n=e.data.id,a=r.get(i);a||(a={origin:e.origin.vec3,deltaByGeometry:new Map},r.set(i,a));var o=a.deltaByGeometry.get(n);o||(o={renderData:e.data,toAdd:[],toRemove:[]},a.deltaByGeometry.set(n,o)),(t?o.toAdd:o.toRemove).push(e)};return e.forEach(function(e){i(e,!0)}),t.forEach(function(e){i(e,!1)}),r}function l(e,t,r){var i=t.elementCount(e),n=t.allocate(i);t.write({},e,n,0),r.setData(n.buffer)}return function(){function e(e,t,r,i){void 0===i&&(i=n.Default3D),this.type=\"InstancedRenderer\",this._dataByOrigin=new Map,this._highlightCount=0,this._rctx=e,this._vertexAttributeLocations=i,this._material=r,this._materialRep=t,this._glMaterials=o.acquireMaterials(this._material,this._materialRep),this._bufferWriter=r.createBufferWriter()}return e.prototype.dispose=function(){o.releaseMaterials(this._material,this._materialRep)},Object.defineProperty(e.prototype,\"isEmpty\",{get:function(){return 0===this._dataByOrigin.size},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"hasHighlights\",{get:function(){return this._highlightCount>0},enumerable:!0,configurable:!0}),e.prototype.hasWater=function(){return!1},e.prototype.renderPriority=function(){return this._material.renderPriority},e.prototype.modify=function(e){this.updateGeometries(e.toUpdate),this.addAndRemoveGeometries(e.toAdd,e.toRemove),this.updateHighlightCount()},e.prototype.addAndRemoveGeometries=function(e,t){var n=this,d=this._rctx,f=this._bufferWriter,c=this._dataByOrigin,y=u(e,t),m=f.vertexBufferLayout;y.forEach(function(e,t){var u=c.get(t);u||(u={origin:e.origin,highlightCount:0,dataByGeometry:new Map},c.set(t,u)),e.deltaByGeometry.forEach(function(e,t){var c=u.dataByGeometry.get(t);!c&&e.toAdd.length>0&&(c={vao:new s(d,n._vertexAttributeLocations,{geometry:i.glLayout(m)},{geometry:h.createVertex(d,35044)}),vertexCount:0,instances:new Map,highlightCount:0},l(e.renderData,f,c.vao.vertexBuffers.geometry),c.vertexCount=g.vertexCount(c.vao,\"geometry\"),u.dataByGeometry.set(t,c));var y=c.instances;e.toAdd.forEach(function(e){var t=r.mat4f64.create();o.calculateTransformRelToOrigin(e,t);var i=o.generateRenderGeometryVisibleIndexRanges(e),n=o.generateRenderGeometryHighlightRanges(e),h=new a(e.name,0,c.vertexCount,i,n,t,e.instanceParameters,e.idx,e.data.id);y.set(e.uniqueName,h),u.highlightCount=null,c.highlightCount=null}),e.toRemove.forEach(function(e){y.delete(e.uniqueName)}),0===y.size&&(c.vao.dispose(),u.dataByGeometry.delete(t))}),0===u.dataByGeometry.size&&c.delete(t)})},e.prototype.updateGeometries=function(e){var t=this._dataByOrigin,r=this._bufferWriter;e.forEach(function(e){var i=e.updateType,n=e.renderGeometry,a=t.get(n.origin.id),h=a&&a.dataByGeometry.get(n.data.id),g=h&&h.instances.get(n.uniqueName);g&&(1&i&&(g.displayedIndexRange=o.generateRenderGeometryVisibleIndexRanges(n)),17&i&&(g.highlightedIndexRanges=o.generateRenderGeometryHighlightRanges(n),a.highlightCount=null,h.highlightCount=null),2&i&&l(n.data,r,h.vao.vertexBuffers.geometry),4&i&&o.calculateTransformRelToOrigin(n,g.transformation,g.transformationNormal))})},e.prototype.updateHighlightCount=function(){var e=this;this._highlightCount=0,this._dataByOrigin.forEach(function(t){if(null==t.highlightCount){var r=0;t.dataByGeometry.forEach(function(e){if(null==e.highlightCount){var t=0;e.instances.forEach(function(e){e.highlightedIndexRanges&&++t}),e.highlightCount=t}r+=e.highlightCount}),t.highlightCount=r}e._highlightCount+=t.highlightCount})},e.prototype.render=function(e,t,r,i){var n=this,a=this._rctx,o=this._glMaterials.get(t.pass),h=4===t.pass;if(!o||null!=e&&!o.beginSlot(e)||h&&0===this._highlightCount)return!1;o.bind(a,r);var g=!1;return this._dataByOrigin.forEach(function(e){h&&0===e.highlightCount||(r.origin=e.origin,o.bindView(r),e.dataByGeometry.forEach(function(e){g=h?n.renderHighlightPass(o,e,i)||g:n.renderDefaultPass(o,e,i)||g}))}),a.bindVAO(null),o.release(),g},e.prototype.renderDefaultPass=function(e,t,r){var i=this._rctx,n=e.getDrawMode(),a=t.vao,h=t.vertexCount;e.ensureAttributeLocations(a),i.bindVAO(a);var g=!1;return t.instances.forEach(function(t){var a=t.displayedIndexRange;a&&0===a.length||(e.bindInstance(t),a?o.drawArraysFaceRange(i,a,0,n,r):o.drawArrays(i,n,0,h,r),g=!0)}),g},e.prototype.renderHighlightPass=function(e,t,r){var i=this._rctx,n=e.getDrawMode(),a=t.vao,h=t.vertexCount;if(0!==t.highlightCount){e.ensureAttributeLocations(a),i.bindVAO(a);var g=!1;return t.instances.forEach(function(t){var a=t.highlightedIndexRanges;if(a&&0!==a.length){e.bindInstance(t);for(var s=0;s<a.length;s++){var u=a[s],l=u.range?u.range[0]:0,d=u.range?u.range[1]-u.range[0]+1:h;o.drawArrays(i,n,l,d,r),g=!0}}}),g}},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/libs/gl-matrix-2/mat4\",\"../../../../../core/libs/gl-matrix-2/mat4f64\",\"../../../support/buffer/glUtil\",\"../../lib/DefaultVertexAttributeLocations\",\"../../lib/IntervalUtilities\",\"../../lib/ResizableFloat32Array\",\"../../lib/Util\",\"../WaterGLMaterial\",\"./Instance\",\"./utils\",\"../../../../webgl/BufferObject\",\"../../../../webgl/Util\",\"../../../../webgl/VertexArrayObject\"],function(e,t,r,a,n,i,o,s,u,d,l,f,g,h,p){function m(e,t,r,a){for(var n=new Map,i=t.vertexBufferLayout.stride/4,o=function(r,a){var o=r.origin,s=e.get(o.id),u=n.get(o.id);null==u&&(u={optimalCount:null==s?0:s.optimalCount,sparseCount:null==s?0:s.buffer.size,toAdd:[],toRemove:[],origin:o.vec3},n.set(o.id,u));var d=t.elementCount(r.data)*i;a?(u.optimalCount+=d,u.sparseCount+=d,u.toAdd.push(r)):(u.optimalCount-=d,u.toRemove.push(r))},s=0,u=r;s<u.length;s++){var d=u[s];o(d,!0)}for(var l=0,f=a;l<f.length;l++){var d=f[l];o(d,!1)}return n}var c=function(){function e(e,t,r,a){void 0===a&&(a=i.Default3D),this.type=\"MergedRenderer\",this._dataByOrigin=new Map,this._highlightCount=0,this._rctx=e,this._vertexAttributeLocations=a,this._material=r,this._materialRep=t,this._glMaterials=f.acquireMaterials(this._material,this._materialRep),this._bufferWriter=r.createBufferWriter()}return e.prototype.dispose=function(){f.releaseMaterials(this._material,this._materialRep)},Object.defineProperty(e.prototype,\"isEmpty\",{get:function(){return 0===this._dataByOrigin.size},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"hasHighlights\",{get:function(){return this._highlightCount>0},enumerable:!0,configurable:!0}),e.prototype.hasWater=function(){var e=!1;return this._glMaterials.forEach(function(t){e=e||t instanceof d.WaterGLMaterial}),e},e.prototype.renderPriority=function(){return this._material.renderPriority},e.prototype.modify=function(e){var t=this,r=R;r.clear(),this.updateGeometries(e.toUpdate,r),this.addAndRemoveGeometries(e.toAdd,e.toRemove,r),this.updateHighlightCount(),r.forEach(function(e){return t.updateDisplayedIndexRanges(e)})},e.prototype.addAndRemoveGeometries=function(e,t,r){var a=this,n=this._bufferWriter,i=n.vertexBufferLayout,o=i.stride/4,s=this._dataByOrigin,d=m(s,n,e,t);d.forEach(function(e,t){d.delete(t);var n=e.optimalCount,l=e.sparseCount,f=s.get(t);if(null==f&&(u.assert(n>0),f=a.createData(i,n,e.origin),s.set(t,f)),0===n)return f.vao.dispose(!0),f.vao=null,void s.delete(t);var g=n<e.sparseCount/2,h=g?n:l,p=y,m=f.buffer.size,c=f.buffer.array,b=f.buffer.resize(h,!1);g||b?a.removeAndRebuild(f,e.toRemove,o,c,p):e.toRemove.length>0?(a.removeByErasing(f,e.toRemove,o,p),e.toAdd.length>0&&(p.end=m)):(p.begin=m,p.end=m);var x=v;u.setMatrixTranslation3(x,-e.origin[0],-e.origin[1],-e.origin[2]),a.append(f,e.toAdd,o,x,p);var R=f.vao.vertexBuffers.geometry;if(R.byteSize!==f.buffer.array.buffer.byteLength)R.setData(f.buffer.array);else{var _=p.begin,C=p.end;if(_<C){var I=f.buffer.array,A=4*_,w=4*C;R.setSubData(I,A,A,w)}}(p.updatedDisplayedIndexRange||f.displayedIndexRanges)&&r.add(f)})},e.prototype.updateGeometries=function(e,t){for(var r=this._bufferWriter,a=r.vertexBufferLayout.stride/4,n=0,i=e;n<i.length;n++){var o=i[n],s=o.updateType,d=o.renderGeometry,l=this._dataByOrigin.get(d.origin.id),g=l&&l.instances.get(d.uniqueName);if(!g)return;if(1&s&&(g.displayedIndexRange=f.generateRenderGeometryVisibleIndexRanges(d),t.add(l)),17&s&&(g.highlightedIndexRanges=f.generateRenderGeometryHighlightRanges(d),l.highlightCount=null),6&s){var h=l.buffer.array,p=l.vao;f.calculateTransformRelToOrigin(d,b,x),r.write({transformation:b,invTranspTransformation:x},d.data,r.vertexBufferLayout.createView(h.buffer),g.from),u.assert(g.from+r.elementCount(d.data)===g.to,\"material VBO layout has changed\"),p.vertexBuffers.geometry.setSubData(h,g.from*a*4,g.from*a*4,g.to*a*4)}}},e.prototype.updateDisplayedIndexRanges=function(e){e.displayedIndexRanges=[];var t=!0;e.instances.forEach(function(r){r.displayedIndexRange?(e.displayedIndexRanges.push.apply(e.displayedIndexRanges,o.offsetIntervals(r.displayedIndexRange,r.from)),t=!1):e.displayedIndexRanges.push([r.from,r.to-1])}),e.displayedIndexRanges=t?null:o.mergeIntervals(e.displayedIndexRanges)},e.prototype.updateHighlightCount=function(){var e=this;this._highlightCount=0,this._dataByOrigin.forEach(function(t){if(null==t.highlightCount){var r=0;t.instances.forEach(function(e){e.highlightedIndexRanges&&++r}),t.highlightCount=r}e._highlightCount+=t.highlightCount})},e.prototype.updateLogic=function(e){return this._material.update(e)},e.prototype.render=function(e,t,r,n){var i=this,o=this._rctx,s=this._glMaterials.get(t.pass),u=4===t.pass,d=e;if(2===t.pass&&null===d&&(d=19),!s||1===s.ensureResources(o)||null!=d&&!s.beginSlot(d)||u&&0===this._highlightCount)return!1;s.bind(o,r);var l=s.getProgram();l.setUniformMatrix4fv(\"model\",a.mat4f64.IDENTITY),l.hasUniform(\"modelNormal\")&&l.setUniformMatrix4fv(\"modelNormal\",a.mat4f64.IDENTITY);var f=!1;return this._dataByOrigin.forEach(function(e){u&&0===e.highlightCount||(r.origin=e.origin,s.bindView(r),f=u?i.renderHighlightPass(s,e,n)||f:i.renderDefaultPass(s,e,n)||f)}),s.release(),f},e.prototype.renderDefaultPass=function(e,t,r){var a=this._rctx,n=e.getDrawMode(),i=t.displayedIndexRanges;if(i&&0===i.length)return!1;if(e.ensureAttributeLocations(t.vao),a.bindVAO(t.vao),i)f.drawArraysFaceRange(a,i,0,n,r);else{var o=4*t.buffer.size/h.getStride(t.vao.layout.geometry);f.drawArrays(a,n,0,o,r)}return!0},e.prototype.renderHighlightPass=function(e,t,r){var a=this._rctx,n=e.getDrawMode(),i=t.vao;e.ensureAttributeLocations(i),a.bindVAO(i);var o=!1;return t.instances.forEach(function(e){var t=e.highlightedIndexRanges;if(t&&0!==t.length)for(var i=0;i<t.length;i++){var s=t[i],u=s.range?s.range[0]+e.from:e.from,d=s.range?s.range[1]-s.range[0]+1:e.to-e.from;f.drawArrays(a,n,u,d,r),o=!0}}),o},e.prototype.createData=function(e,t,r){return{instances:new Map,vao:new p(this._rctx,this._vertexAttributeLocations,{geometry:n.glLayout(e)},{geometry:g.createVertex(this._rctx,35044)}),buffer:new s.ResizableFloat32Array(t),optimalCount:0,origin:r,highlightCount:0}},e.prototype.removeAndRebuild=function(e,t,r,a,n){for(var i=0,o=t;i<o.length;i++){var s=o[i],u=s.uniqueName,d=e.instances.get(u);e.optimalCount-=(d.to-d.from)*r,e.instances.delete(u)}var l=0,f=e.buffer.array;n.begin=0,n.end=0;var g=-1,h=-1,p=0;e.instances.forEach(function(e){var t=e.from*r,n=e.to*r,i=n-t;g!==h&&h!==t?(f.set(a.subarray(g,h),p),p+=h-g,g=t):-1===g&&(g=t),h=n,e.from=l/r,l+=i,e.to=l/r}),g!==h&&f.set(a.subarray(g,h),p),n.end=l},e.prototype.removeByErasing=function(e,t,r,a){a.begin=1/0,a.end=-1/0;for(var n=-1,i=-1,o=0,s=t;o<s.length;o++){var u=s[o],d=u.uniqueName,l=e.instances.get(d),f=l.from*r,g=l.to*r;n!==i&&i!==f?(e.buffer.erase(n,i),n=f):-1===n&&(n=f),i=g,e.instances.delete(d),e.optimalCount-=g-f,f<a.begin&&(a.begin=f),g>a.end&&(a.end=g)}n!==i&&e.buffer.erase(n,i)},e.prototype.append=function(e,t,a,n,i){i.updatedDisplayedIndexRange=!1;for(var o=this._bufferWriter,s=0,d=t;s<d.length;s++){var g=d[s],h=g.data;r.mat4.multiply(b,n,g.transformation),r.mat4.invert(x,b),r.mat4.transpose(x,x);var p=i.end;o.write({transformation:b,invTranspTransformation:x},h,o.vertexBufferLayout.createView(e.buffer.array.buffer),i.end/a);var m=o.elementCount(h)*a,c=p+m;u.assert(null==e.instances.get(g.uniqueName));var y=f.generateRenderGeometryVisibleIndexRanges(g),v=f.generateRenderGeometryHighlightRanges(g);v&&(e.highlightCount=null);var R=new l(g.name,p/a,c/a,y,v,void 0,void 0,g.idx);e.instances.set(g.uniqueName,R),y&&(i.updatedDisplayedIndexRange=!0),e.optimalCount+=m,i.end+=m}},Object.defineProperty(e.prototype,\"test\",{get:function(){return{material:this._material}},enumerable:!0,configurable:!0}),e}(),y={updatedDisplayedIndexRange:!1,begin:0,end:0},v=a.mat4f64.create(),b=a.mat4f64.create(),x=a.mat4f64.create(),R=new Set;return 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/libs/gl-matrix-2/mat4\",\"../../../../../core/libs/gl-matrix-2/mat4f64\",\"../../lib/ComponentUtils\",\"../../lib/Util\",\"../../../../webgl/Util\"],function(e,t,r,n,a,i,s){function l(e){if(e.instanceParameters.hidden)return[];var t=e.instanceParameters.componentVisibilities,r=e.componentOffsets;return a.generateVisibleIndexRanges(t,r)}function o(e){if(e.instanceParameters.hidden)return null;var t=e.instanceParameters.componentVisibilities,r=e.instanceParameters.componentHighlights,n=e.componentOffsets;return a.generateHighlightedIndexRanges(t,r,n)}function c(e){if(e.instanceParameters.hidden)return!1;var t=e.instanceParameters.componentVisibilities,r=e.instanceParameters.componentHighlights,n=e.componentOffsets;return a.hasHighlights(t,r,n)}function d(e){if(e.instanceParameters.hidden)return!0;var t=e.instanceParameters.componentVisibilities,r=e.componentOffsets;return a.isAllHidden(t,r)}function m(e,t,r,n,a){e.drawArrays(t,r,n),a&&(a.drawCalls++,4===t&&(a.triangles+=n))}function g(e,t,r,n,a,i){var l=s.getBytesPerElement(r);e.drawElements(t,a,r,n*l),i&&(i.drawCalls++,4===t&&(i.triangles+=a))}function h(e,t,r,n,a){for(var i=0,s=0,l=t;s<l.length;s++){var o=l[s],c=o[0]+r,d=o[1]-o[0]+1;i+=d,e.drawArrays(n,c,d)}a&&(a.drawCalls+=t.length,4===n&&(a.triangles=i/3))}function u(e,t,r,n,a,i){for(var l=s.getBytesPerElement(a),o=0,c=0,d=t;c<d.length;c++){var m=d[c],g=m[0]+r,h=m[1]-m[0]+1;o+=h,e.drawElements(n,h,a,g*l)}i&&(i.drawCalls+=t.length,4===n&&(i.triangles+=o/3))}function f(e,t){var r=new Map;return r.set(0,t.acquire(e,\"color\")),r.set(3,t.acquire(e,\"depthShadowMap\")),r.set(2,t.acquire(e,\"normal\")),r.set(1,t.acquire(e,\"depth\")),r.set(4,t.acquire(e,\"highlight\")),r}function p(e,t){t.release(e.id,\"color\"),t.release(e.id,\"depthShadowMap\"),t.release(e.id,\"normal\"),t.release(e.id,\"depth\"),t.release(e.id,\"highlight\")}function v(e,t,n){var a=e.origin.vec3;i.setMatrixTranslation3(w,-a[0],-a[1],-a[2]),r.mat4.multiply(t,w,e.transformation),n&&(r.mat4.invert(n,t),r.mat4.transpose(n,n))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.generateRenderGeometryVisibleIndexRanges=l,t.generateRenderGeometryHighlightRanges=o,t.doesRenderGeometryHaveHighlights=c,t.isRenderGeometryHidden=d,t.drawArrays=m,t.drawElements=g,t.drawArraysFaceRange=h,t.drawElementsFaceRange=u,t.acquireMaterials=f,t.releaseMaterials=p,t.calculateTransformRelToOrigin=v;var w=n.mat4f64.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/makeTemplateObjectHelper\",\"../collections/Component/Material/shader/DecodeSymbolColor.glsl\",\"../core/shaderLibrary/DiscardOrAdjustAlpha.glsl\",\"../core/shaderLibrary/ForwardLinearDepth.glsl\",\"../core/shaderLibrary/Offset.glsl\",\"../core/shaderLibrary/Slice.glsl\",\"../core/shaderLibrary/Transform.glsl\",\"../core/shaderLibrary/attributes/PositionAttribute.glsl\",\"../core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl\",\"../core/shaderLibrary/attributes/VertexColor.glsl\",\"../core/shaderLibrary/attributes/VertexNormal.glsl\",\"../core/shaderLibrary/attributes/VerticalOffset.glsl\",\"../core/shaderLibrary/output/OutputDepth.glsl\",\"../core/shaderLibrary/shading/ComputeNormalTexture.glsl\",\"../core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl\",\"../core/shaderLibrary/shading/EvaluateSceneLighting.glsl\",\"../core/shaderLibrary/shading/HighlightData.glsl\",\"../core/shaderLibrary/shading/Normals.glsl\",\"../core/shaderLibrary/shading/PhysicallyBasedRendering.glsl\",\"../core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl\",\"../core/shaderLibrary/shading/ReadShadowMap.glsl\",\"../core/shaderLibrary/shading/VisualVariables.glsl\",\"../core/shaderLibrary/util/DoublePrecision.glsl\",\"../core/shaderLibrary/util/MixExternalColor.glsl\",\"../core/shaderModules/interfaces\",\"../core/shaderModules/ShaderBuilder\"],function(o,e,a,n,l,i,r,t,d,s,c,v,m,g,u,p,h,x,f,b,y,C,O,w,P,L,D,M){function N(o){var e=new M.ShaderBuilder,N=e.vertex.code,Bo=e.fragment.code;return N.add(D.glsl(A||(A=a([\"\\n    // --- Default Material:\\n    // \",\"\\n    // ---\\n  \"],[\"\\n    // --- Default Material:\\n    // \",\"\\n    // ---\\n  \"])),JSON.stringify(o))),Bo.add(D.glsl(S||(S=a([\"\\n    // --- Default Material:\\n    // \",\"\\n    // ---\\n  \"],[\"\\n    // --- Default Material:\\n    // \",\"\\n    // ---\\n  \"])),JSON.stringify(o))),e.vertex.uniforms.add(\"proj\",\"mat4\").add(\"view\",\"mat4\").add(\"camPos\",\"vec3\").add(\"localOrigin\",\"vec3\"),e.include(s.PositionAttribute),e.varyings.add(\"vpos\",\"vec3\"),e.include(w.VisualVariables,o),o.instanced&&o.instancedDoublePrecision?(e.attributes.add(\"modelOriginHi\",\"vec3\"),e.attributes.add(\"modelOriginLo\",\"vec3\"),e.attributes.add(\"model\",\"mat3\"),e.attributes.add(\"modelNormal\",\"mat3\")):(e.vertex.uniforms.add(\"model\",\"mat4\"),e.vertex.uniforms.add(\"modelNormal\",\"mat4\")),o.instancedDoublePrecision?(e.include(P.DoublePrecision,o),e.vertex.uniforms.add(\"viewOriginHi\",\"vec3\"),e.vertex.uniforms.add(\"viewOriginLo\",\"vec3\"),N.add(D.glsl(F||(F=a([\"\\n    vec3 calculateVPos() {\\n      return model * localPosition().xyz;\\n    }\\n    \"],[\"\\n    vec3 calculateVPos() {\\n      return model * localPosition().xyz;\\n    }\\n    \"]))))):N.add(D.glsl(T||(T=a([\"\\n    vec3 calculateVPos() {\\n      return (model * localPosition()).xyz;\\n    }\\n    \"],[\"\\n    vec3 calculateVPos() {\\n      return (model * localPosition()).xyz;\\n    }\\n    \"])))),e.include(g.VerticalOffset,o),0===o.output&&(e.include(d.Transform,{linearDepth:!1}),0===o.normalType&&o.offsetBackfaces&&e.include(r.Offset),e.include(p.ComputeNormalTexture,o),e.include(m.VertexNormal,o),o.instancedColor&&e.attributes.add(\"instanceColor\",\"vec4\"),e.varyings.add(\"localvpos\",\"vec3\"),e.include(c.TextureCoordinateAttribute,o),e.include(i.ForwardLinearDepth,o),o.symbolColor?(e.include(n.DecodeSymbolColor),e.attributes.add(\"symbolColor\",\"vec4\"),e.varyings.add(\"colorMixMode\",\"mediump float\")):e.fragment.uniforms.add(\"colorMixMode\",\"int\"),e.include(v.VertexColor,o),e.vertex.uniforms.add(\"externalColor\",\"vec4\"),e.varyings.add(\"vcolorExt\",\"vec4\"),e.vertex.defines.addFloat(\"SYMBOL_ALPHA_CUTOFF\",.001),N.add(D.glsl(_||(_=a([\"\\n      void main(void) {\\n        forwardNormalizedVertexColor();\\n        vcolorExt = externalColor;\\n        \",\"\\n        vcolorExt *= vvColor();\\n    \"],[\"\\n      void main(void) {\\n        forwardNormalizedVertexColor();\\n        vcolorExt = externalColor;\\n        \",\"\\n        vcolorExt *= vvColor();\\n    \"])),o.instancedColor?\"vcolorExt *= instanceColor;\":\"\")),o.symbolColor&&N.add(D.glsl(V||(V=a([\"\\n        int symbolColorMixMode;\\n        vcolorExt *= decodeSymbolColor(symbolColor, symbolColorMixMode) * 0.003921568627451; // = 1/255;\\n        colorMixMode = float(symbolColorMixMode) + 0.5; // add 0.5 to avoid interpolation artifacts\\n      \"],[\"\\n        int symbolColorMixMode;\\n        vcolorExt *= decodeSymbolColor(symbolColor, symbolColorMixMode) * 0.003921568627451; // = 1/255;\\n        colorMixMode = float(symbolColorMixMode) + 0.5; // add 0.5 to avoid interpolation artifacts\\n      \"])))),N.add(D.glsl(z||(z=a([\"\\n        if (vcolorExt.a < SYMBOL_ALPHA_CUTOFF) {\\n          gl_Position = vec4(1e38, 1e38, 1e38, 1.0);\\n        }\\n        else {\\n          vpos = calculateVPos();\\n          localvpos = vpos - view[3].xyz;\\n    \"],[\"\\n        if (vcolorExt.a < SYMBOL_ALPHA_CUTOFF) {\\n          gl_Position = vec4(1e38, 1e38, 1e38, 1.0);\\n        }\\n        else {\\n          vpos = calculateVPos();\\n          localvpos = vpos - view[3].xyz;\\n    \"])))),o.instancedDoublePrecision?(0===o.normalType&&N.add(D.glsl(E||(E=a([\"\\n          vNormalWorld = normalize(modelNormal * vvLocalNormal(normalModel()).xyz);\\n        \"],[\"\\n          vNormalWorld = normalize(modelNormal * vvLocalNormal(normalModel()).xyz);\\n        \"])))),N.add(D.glsl(B||(B=a([\"\\n          vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\\n          vpos -= originDelta;\\n      \"],[\"\\n          vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\\n          vpos -= originDelta;\\n      \"]))))):0===o.normalType&&N.add(D.glsl(H||(H=a([\"\\n          vNormalWorld = normalize((modelNormal * vvLocalNormal(normalModel())).xyz);\\n        \"],[\"\\n          vNormalWorld = normalize((modelNormal * vvLocalNormal(normalModel())).xyz);\\n        \"])))),N.add(D.glsl(j||(j=a([\"\\n          \",\"\\n          \",\"\\n          gl_Position = transformPosition(proj, view, vpos);\\n          \",\"\\n        }\\n        forwardLinearDepth();\\n        forwardTextureCoordinates();\\n      }\\n    \"],[\"\\n          \",\"\\n          \",\"\\n          gl_Position = transformPosition(proj, view, vpos);\\n          \",\"\\n        }\\n        forwardLinearDepth();\\n        forwardTextureCoordinates();\\n      }\\n    \"])),o.verticalOffsetEnabled?\"vpos += calculateVerticalOffset(vpos, localOrigin);\":\"\",o.vertexTangets?\"transformVertexTangent(mat3(modelNormal));\":\"\",0===o.normalType&&o.offsetBackfaces?\"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, camPos);\":\"\")),e.include(t.Slice,o),e.include(x.EvaluateSceneLighting,o),e.include(h.EvaluateAmbientOcclusion,o),e.include(l.DiscardOrAdjustAlpha,o),o.receiveShadows&&e.include(O.ReadShadowMap,o),e.fragment.uniforms.add(\"camPos\",\"vec3\").add(\"localOrigin\",\"vec3\").add(\"ambient\",\"vec3\").add(\"diffuse\",\"vec3\").add(\"specular\",\"vec3\").add(\"opacity\",\"float\").add(\"layerOpacity\",\"float\"),o.treeRendering&&e.fragment.uniforms.add(\"view\",\"mat4\"),o.hasColorTexture&&e.fragment.uniforms.add(\"tex\",\"sampler2D\"),3===o.normalType&&e.extensions.add(\"GL_OES_standard_derivatives\"),e.include(C.PhysicallyBasedRenderingParameters,o),e.include(y.PhysicallyBasedRendering,o),e.include(L.MixExternalColor,{stages:1}),e.include(b.Normals,o),Bo.add(D.glsl(R||(R=a([\"\\n        void main() {\\n          discardBySlice(vpos);\\n    \"],[\"\\n        void main() {\\n          discardBySlice(vpos);\\n    \"])))),o.hasColorTexture?(Bo.add(D.glsl(W||(W=a([\"\\n          vec4 texColor = texture2D(tex, vuv0);\\n      \"],[\"\\n          vec4 texColor = texture2D(tex, vuv0);\\n      \"])))),o.textureAlphaPremultiplied&&Bo.add(D.glsl(I||(I=a([\"\\n            texColor.rgb /= texColor.a;\\n        \"],[\"\\n            texColor.rgb /= texColor.a;\\n        \"])))),Bo.add(D.glsl(k||(k=a([\"\\n            discardOrAdjustAlpha(texColor);\\n      \"],[\"\\n            discardOrAdjustAlpha(texColor);\\n      \"]))))):Bo.add(D.glsl(G||(G=a([\"\\n            vec4 texColor = vec4(1.0);\\n      \"],[\"\\n            vec4 texColor = vec4(1.0);\\n      \"])))),Bo.add(D.glsl(U||(U=a([\"\\n            shadingParams.viewDirection = normalize(vpos - camPos);\\n    \"],[\"\\n            shadingParams.viewDirection = normalize(vpos - camPos);\\n    \"])))),3===o.normalType?Bo.add(D.glsl(Y||(Y=a([\"\\n        vec3 normal = normalize(cross(dFdx(localvpos),dFdy(localvpos)));\\n      \"],[\"\\n        vec3 normal = normalize(cross(dFdx(localvpos),dFdy(localvpos)));\\n      \"])))):Bo.add(D.glsl(J||(J=a([\"\\n        shadingParams.normalView = vNormalWorld;\\n        vec3 normal = shadingNormal(shadingParams);\\n      \"],[\"\\n        shadingParams.normalView = vNormalWorld;\\n        vec3 normal = shadingNormal(shadingParams);\\n      \"])))),o.usePBR&&Bo.add(D.glsl(q||(q=a([\"applyPBRFactors();\"],[\"applyPBRFactors();\"])))),Bo.add(D.glsl(K||(K=a([\"\\n        float ssao = evaluateAmbientOcclusionInverse();\\n        ssao *= getBakedOcclusion();\\n\\n        float additionalAmbientScale = _oldHeuristicLighting(vpos + localOrigin);\\n        vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;\\n    \"],[\"\\n        float ssao = evaluateAmbientOcclusionInverse();\\n        ssao *= getBakedOcclusion();\\n\\n        float additionalAmbientScale = _oldHeuristicLighting(vpos + localOrigin);\\n        vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;\\n    \"])))),o.receiveShadows?e.fragment.code.add(D.glsl(Q||(Q=a([\"\\n        float shadow = readShadowMap(vpos, linearDepth);\\n      \"],[\"\\n        float shadow = readShadowMap(vpos, linearDepth);\\n      \"])))):0===o.viewingMode?e.fragment.code.add(D.glsl(X||(X=a([\"\\n        float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);\\n      \"],[\"\\n        float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);\\n      \"])))):e.fragment.code.add(D.glsl(Z||(Z=a([\"\\n        float shadow = 0.0;\\n      \"],[\"\\n        float shadow = 0.0;\\n      \"])))),Bo.add(D.glsl($||($=a([\"\\n        vec3 matColor = max(ambient, diffuse);\\n    \"],[\"\\n        vec3 matColor = max(ambient, diffuse);\\n    \"])))),o.attributeColor?Bo.add(D.glsl(oo||(oo=a([\"\\n        vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));\\n        float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));\\n      \"],[\"\\n        vec3 albedo_ = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));\\n        float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));\\n      \"])))):(Bo.add(D.glsl(eo||(eo=a([\"\\n        vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));\\n        float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));\\n      \"],[\"\\n        vec3 albedo_ = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));\\n        float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));\\n      \"])))),o.usePBR&&Bo.add(D.glsl(ao||(ao=a([\"\\n          if (int(colorMixMode) == 3 /* replace */) {\\n            reflectance = 0.2;\\n            roughness = 0.6;\\n            metalness = 0.0;\\n          }\\n        \"],[\"\\n          if (int(colorMixMode) == 3 /* replace */) {\\n            reflectance = 0.2;\\n            roughness = 0.6;\\n            metalness = 0.0;\\n          }\\n        \"]))))),o.hasNormalTexture?(o.vertexTangets?Bo.add(D.glsl(no||(no=a([\"\\n        mat3 tangentSpace = computeTangentSpace(normal);\\n        \"],[\"\\n        mat3 tangentSpace = computeTangentSpace(normal);\\n        \"])))):Bo.add(D.glsl(lo||(lo=a([\"\\n        mat3 tangentSpace = computeTangentSpace(normal, vpos, vuv0);\\n        \"],[\"\\n        mat3 tangentSpace = computeTangentSpace(normal, vpos, vuv0);\\n        \"])))),Bo.add(D.glsl(io||(io=a([\"\\n        vec3 shadedNormal = computeTextureNormal(tangentSpace, vuv0);\\n      \"],[\"\\n        vec3 shadedNormal = computeTextureNormal(tangentSpace, vuv0);\\n      \"]))))):Bo.add(D.glsl(ro||(ro=a([\"\\n        vec3 shadedNormal = normal;\\n      \"],[\"\\n        vec3 shadedNormal = normal;\\n      \"])))),o.treeRendering&&Bo.add(D.glsl(to||(to=a([\"\\n        shadedNormal = normalize(vNormalWorld);\\n        albedo_ *= 1.2;\\n        vec3 viewForward = - vec3(view[0][2], view[1][2], view[2][2]);\\n        float alignmentLightView = clamp(dot(-viewForward, lightingMainDirection), 0.0, 1.0);\\n\\n        float transmittance = 1.0 - clamp(dot(-viewForward, shadedNormal), 0.0, 1.0);\\n        float treeRadialFalloff = vColor.r;\\n        float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);\\n        additionalLight += backLightFactor * lightingMainIntensity;\\n    \"],[\"\\n        shadedNormal = normalize(vNormalWorld);\\n        albedo_ *= 1.2;\\n        vec3 viewForward = - vec3(view[0][2], view[1][2], view[2][2]);\\n        float alignmentLightView = clamp(dot(-viewForward, lightingMainDirection), 0.0, 1.0);\\n\\n        float transmittance = 1.0 - clamp(dot(-viewForward, shadedNormal), 0.0, 1.0);\\n        float treeRadialFalloff = vColor.r;\\n        float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);\\n        additionalLight += backLightFactor * lightingMainIntensity;\\n    \"])))),o.usePBR?Bo.add(D.glsl(so||(so=a([\"\\n        float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];\\n        vec3 normalGround = normalize(vpos + localOrigin);\\n        vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, roughness, metalness, emission, reflectance, additionalAmbientIrradiance);\\n      \"],[\"\\n        float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];\\n        vec3 normalGround = normalize(vpos + localOrigin);\\n        vec3 shadedColor = evaluateSceneLightingPBR(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, roughness, metalness, emission, reflectance, additionalAmbientIrradiance);\\n      \"])))):Bo.add(D.glsl(co||(co=a([\"\\n        vec3 shadedColor = evaluateSceneLighting(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight);\\n      \"],[\"\\n        vec3 shadedColor = evaluateSceneLighting(shadedNormal, albedo_, shadow, 1.0 - ssao, additionalLight);\\n      \"])))),Bo.add(D.glsl(vo||(vo=a([\"\\n        gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);\\n      }\\n    \"],[\"\\n        gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);\\n      }\\n    \"]))))),1!==o.output&&3!==o.output||(e.include(d.Transform,{linearDepth:!0}),e.include(c.TextureCoordinateAttribute,o),e.include(w.VisualVariables,o),e.include(u.OutputDepth,o),e.include(t.Slice,o),e.vertex.uniforms.add(\"nearFar\",\"vec2\"),e.varyings.add(\"depth\",\"float\"),o.hasColorTexture&&e.fragment.uniforms.add(\"tex\",\"sampler2D\"),N.add(D.glsl(mo||(mo=a([\"\\n      void main(void) {\\n        vpos = calculateVPos();\\n    \"],[\"\\n      void main(void) {\\n        vpos = calculateVPos();\\n    \"])))),o.instancedDoublePrecision&&N.add(D.glsl(go||(go=a([\"\\n        vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\\n        vpos -= originDelta;\\n      \"],[\"\\n        vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\\n        vpos -= originDelta;\\n      \"])))),o.verticalOffsetEnabled&&N.add(D.glsl(uo||(uo=a([\"\\n        vpos += calculateVerticalOffset(vpos, localOrigin);\\n      \"],[\"\\n        vpos += calculateVerticalOffset(vpos, localOrigin);\\n      \"])))),N.add(D.glsl(po||(po=a([\"\\n        gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);\\n        forwardTextureCoordinates();\\n      }\\n    \"],[\"\\n        gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);\\n        forwardTextureCoordinates();\\n      }\\n    \"])))),e.include(l.DiscardOrAdjustAlpha,o),Bo.add(D.glsl(ho||(ho=a([\"\\n      void main(void) {\\n        discardBySlice(vpos);\\n    \"],[\"\\n      void main(void) {\\n        discardBySlice(vpos);\\n    \"])))),o.hasColorTexture&&Bo.add(D.glsl(xo||(xo=a([\"\\n        vec4 texColor = texture2D(tex, vuv0);\\n        discardOrAdjustAlpha(texColor);\\n      \"],[\"\\n        vec4 texColor = texture2D(tex, vuv0);\\n        discardOrAdjustAlpha(texColor);\\n      \"])))),Bo.add(D.glsl(fo||(fo=a([\"\\n        outputDepth(depth);\\n      }\\n    \"],[\"\\n        outputDepth(depth);\\n      }\\n    \"]))))),2===o.output&&(3===o.normalType&&e.extensions.add(\"GL_OES_standard_derivatives\"),e.include(d.Transform,{linearDepth:!1}),e.include(m.VertexNormal,o),e.include(c.TextureCoordinateAttribute,o),e.include(w.VisualVariables,o),o.hasColorTexture&&e.fragment.uniforms.add(\"tex\",\"sampler2D\"),e.vertex.uniforms.add(\"viewNormal\",\"mat4\"),e.varyings.add(\"vPositionView\",\"vec3\"),N.add(D.glsl(bo||(bo=a([\"\\n      void main(void) {\\n        vpos = calculateVPos();\\n    \"],[\"\\n      void main(void) {\\n        vpos = calculateVPos();\\n    \"])))),o.instancedDoublePrecision?(0===o.normalType&&N.add(D.glsl(yo||(yo=a([\"\\n        vNormalWorld = normalize((viewNormal * vec4(modelNormal * vvLocalNormal(normalModel()).xyz, 1.0)).xyz);\\n        \"],[\"\\n        vNormalWorld = normalize((viewNormal * vec4(modelNormal * vvLocalNormal(normalModel()).xyz, 1.0)).xyz);\\n        \"])))),N.add(D.glsl(Co||(Co=a([\"\\n        vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\\n        vpos -= originDelta;\\n      \"],[\"\\n        vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\\n        vpos -= originDelta;\\n      \"]))))):0===o.normalType&&N.add(D.glsl(Oo||(Oo=a([\"\\n        vNormalWorld = normalize((viewNormal * modelNormal * vvLocalNormal(normalModel())).xyz);\\n        \"],[\"\\n        vNormalWorld = normalize((viewNormal * modelNormal * vvLocalNormal(normalModel())).xyz);\\n        \"])))),o.verticalOffsetEnabled&&N.add(D.glsl(wo||(wo=a([\"\\n        vpos += calculateVerticalOffset(vpos, localOrigin);\\n      \"],[\"\\n        vpos += calculateVerticalOffset(vpos, localOrigin);\\n      \"])))),N.add(D.glsl(Po||(Po=a([\"\\n        gl_Position = transformPosition(proj, view, vpos);\\n        forwardTextureCoordinates();\\n      }\\n    \"],[\"\\n        gl_Position = transformPosition(proj, view, vpos);\\n        forwardTextureCoordinates();\\n      }\\n    \"])))),e.include(t.Slice,o),e.include(l.DiscardOrAdjustAlpha,o),Bo.add(D.glsl(Lo||(Lo=a([\"\\n      void main() {\\n        discardBySlice(vpos);\\n    \"],[\"\\n      void main() {\\n        discardBySlice(vpos);\\n    \"])))),o.hasColorTexture&&Bo.add(D.glsl(Do||(Do=a([\"\\n          vec4 texColor = texture2D(tex, vuv0);\\n          discardOrAdjustAlpha(texColor);\\n      \"],[\"\\n          vec4 texColor = texture2D(tex, vuv0);\\n          discardOrAdjustAlpha(texColor);\\n      \"])))),3===o.normalType?Bo.add(D.glsl(Mo||(Mo=a([\"\\n        vec3 normal = normalize(cross(dFdx(vPositionView),dFdy(vPositionView)));\\n      \"],[\"\\n        vec3 normal = normalize(cross(dFdx(vPositionView),dFdy(vPositionView)));\\n      \"])))):Bo.add(D.glsl(No||(No=a([\"\\n        vec3 normal = normalize(vNormalWorld);\\n        if (gl_FrontFacing == false) normal = -normal;\\n      \"],[\"\\n        vec3 normal = normalize(vNormalWorld);\\n        if (gl_FrontFacing == false) normal = -normal;\\n      \"])))),Bo.add(D.glsl(Ao||(Ao=a([\"\\n        gl_FragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);\\n      }\\n    \"],[\"\\n        gl_FragColor = vec4(vec3(0.5) + 0.5 * normal, 1.0);\\n      }\\n    \"]))))),4===o.output&&(e.include(d.Transform,{linearDepth:!1}),e.include(c.TextureCoordinateAttribute,o),e.include(w.VisualVariables,o),o.hasColorTexture&&e.fragment.uniforms.add(\"tex\",\"sampler2D\"),N.add(D.glsl(So||(So=a([\"\\n      void main(void) {\\n        vpos = calculateVPos();\\n    \"],[\"\\n      void main(void) {\\n        vpos = calculateVPos();\\n    \"])))),o.instancedDoublePrecision&&N.add(D.glsl(Fo||(Fo=a([\"\\n        vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\\n        vpos -= originDelta;\\n      \"],[\"\\n        vec3 originDelta = dpAdd(viewOriginHi, viewOriginLo, -modelOriginHi, -modelOriginLo);\\n        vpos -= originDelta;\\n      \"])))),o.verticalOffsetEnabled&&N.add(D.glsl(To||(To=a([\"\\n        vpos += calculateVerticalOffset(vpos, localOrigin);\\n      \"],[\"\\n        vpos += calculateVerticalOffset(vpos, localOrigin);\\n      \"])))),N.add(D.glsl(_o||(_o=a([\"\\n        gl_Position = transformPosition(proj, view, vpos);\\n        forwardTextureCoordinates();\\n      }\\n    \"],[\"\\n        gl_Position = transformPosition(proj, view, vpos);\\n        forwardTextureCoordinates();\\n      }\\n    \"])))),e.include(t.Slice,o),e.include(l.DiscardOrAdjustAlpha,o),e.include(f.HighlightData),e.fragment.uniforms.add(\"depthTex\",\"sampler2D\"),e.fragment.uniforms.add(\"highlightViewportPixelSz\",\"vec4\"),Bo.add(D.glsl(Vo||(Vo=a([\"\\n      void main() {\\n        discardBySlice(vpos);\\n    \"],[\"\\n      void main() {\\n        discardBySlice(vpos);\\n    \"])))),o.hasColorTexture&&Bo.add(D.glsl(zo||(zo=a([\"\\n        vec4 texColor = texture2D(tex, vuv0);\\n        discardOrAdjustAlpha(texColor);\\n      \"],[\"\\n        vec4 texColor = texture2D(tex, vuv0);\\n        discardOrAdjustAlpha(texColor);\\n      \"])))),Bo.add(D.glsl(Eo||(Eo=a([\"\\n        gl_FragColor = highlightData(gl_FragCoord, depthTex, highlightViewportPixelSz);\\n      }\\n    \"],[\"\\n        gl_FragColor = highlightData(gl_FragCoord, depthTex, highlightViewportPixelSz);\\n      }\\n    \"]))))),e}Object.defineProperty(e,\"__esModule\",{value:!0}),e.build=N;var A,S,F,T,_,V,z,E,B,H,j,R,W,I,k,G,U,Y,J,q,K,Q,X,Z,$,oo,eo,ao,no,lo,io,ro,to,so,co,vo,mo,go,uo,po,ho,xo,fo,bo,yo,Co,Oo,wo,Po,Lo,Do,Mo,No,Ao,So,Fo,To,_o,Vo,zo,Eo});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// 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/shaderLibrary/output/OutputHighlight.glsl\",\"../core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl\",\"../core/shaderLibrary/shading/VisualVariables.glsl\",\"../core/shaderLibrary/util/DoublePrecision.glsl\",\"../core/shaderTechnique/ReloadableShaderModule\",\"../core/shaderTechnique/ShaderTechnique\",\"../core/shaderTechnique/ShaderTechniqueConfiguration\",\"../lib/DefaultVertexAttributeLocations\",\"../materials/internal/MaterialUtil\",\"./DefaultMaterial.glsl\",\"../../../webgl/Program\"],function(e,r,t,o,a,i,s,n,l,u,p,d,c,h,m){Object.defineProperty(r,\"__esModule\",{value:!0});var v=function(r){function o(){return null!==r&&r.apply(this,arguments)||this}return t(o,r),o.prototype.initializeProgram=function(e){var r=o.shader.get(),t=this.configuration,a=r.build({output:t.output,viewingMode:e.viewingMode,receiveShadows:t.receiveShadows,slicePlaneEnabled:t.slice,sliceHighlightDisabled:t.sliceHighlightDisabled,symbolColor:t.symbolColors,vvSize:t.vvSize,vvColor:t.vvColor,instanced:t.instanced,instancedColor:t.instancedColor,instancedDoublePrecision:t.instancedDoublePrecision,useOldSceneLightInterface:!1,usePBR:t.usePBR,hasMetalnessAndRoughnessTexture:t.hasMetalnessAndRoughnessTexture,hasEmissionTexture:t.hasEmissionTexture,hasOcclusionTexture:t.hasOcclusionTexture,hasNormalTexture:t.hasNormalTexture,hasColorTexture:t.hasColorTexture,receiveAmbientOcclusion:t.receiveAmbientOcclusion,usePBRforWater:!1,useCustomDTRExponentForWater:!1,normalType:t.normalsTypeDerivate?3:0,doubleSidedMode:t.doubleSidedMode,vertexTangets:t.vertexTangents,attributeTextureCoordinates:t.hasMetalnessAndRoughnessTexture||t.hasEmissionTexture||t.hasOcclusionTexture||t.hasNormalTexture||t.hasColorTexture?1:0,textureAlphaPremultiplied:t.textureAlphaPremultiplied,attributeColor:t.vertexColors,screenSizePerspectiveEnabled:t.screenSizePerspective,verticalOffsetEnabled:t.verticalOffset,offsetBackfaces:t.offsetBackfaces,doublePrecisionRequiresObfuscation:n.doublePrecisionRequiresObfuscation(e.rctx),alphaDiscardMode:t.alphaDiscardMode,treeRendering:t.treeRendering,supportsTextureAtlas:!1});return new m(e.rctx,a.generateSource(\"vertex\"),a.generateSource(\"fragment\"),d.Default3D)},o.prototype.bindPass=function(e,r,t){var o=this.configuration.output;0===o?(this.program.setUniform3fv(\"ambient\",r.ambient),this.program.setUniform3fv(\"diffuse\",r.diffuse),this.program.setUniform3fv(\"specular\",r.specular),this.program.setUniform4fv(\"externalColor\",r.externalColor),this.program.setUniform1i(\"colorMixMode\",c.colorMixModes[r.colorMixMode]),this.program.setUniform1f(\"opacity\",r.opacity),this.program.setUniform1f(\"layerOpacity\",r.layerOpacity),this.configuration.usePBR&&i.PhysicallyBasedRenderingParameters.bindUniforms(this.program,r)):1===o||3===o?this.program.setUniform2fv(\"nearFar\",t.nearFar):4===o&&a.OutputHighlight.bindOutputHighlight(e,this.program,t),s.VisualVariables.bindUniformsForSymbols(this.program,r),\"mask\"!==r.textureAlphaMode&&\"maskBlend\"!==r.textureAlphaMode||this.program.setUniform1f(\"textureAlphaCutoff\",r.textureAlphaCutoff)},o.prototype.initializePipeline=function(){return null},o.shader=new l.ReloadableShaderModule(h,\"./DefaultMaterial.glsl\",e),o}(u.ShaderTechnique);r.DefaultMaterialTechnique=v;var f=function(e){function r(){var r=null!==e&&e.apply(this,arguments)||this;return r.output=0,r.alphaDiscardMode=1,r.doubleSidedMode=0,r.vertexColors=!1,r.offsetBackfaces=!1,r.symbolColors=!1,r.vvSize=!1,r.vvColor=!1,r.verticalOffset=!1,r.receiveShadows=!1,r.slice=!1,r.sliceHighlightDisabled=!1,r.receiveAmbientOcclusion=!1,r.screenSizePerspective=!1,r.textureAlphaPremultiplied=!1,r.treeRendering=!1,r.hasColorTexture=!1,r.usePBR=!1,r.hasMetalnessAndRoughnessTexture=!1,r.hasEmissionTexture=!1,r.hasOcclusionTexture=!1,r.hasNormalTexture=!1,r.instanced=!1,r.instancedColor=!1,r.instancedDoublePrecision=!1,r.vertexTangents=!1,r.normalsTypeDerivate=!1,r}return t(r,e),o([p.parameter({count:6})],r.prototype,\"output\",void 0),o([p.parameter({count:4})],r.prototype,\"alphaDiscardMode\",void 0),o([p.parameter({count:3})],r.prototype,\"doubleSidedMode\",void 0),o([p.parameter()],r.prototype,\"vertexColors\",void 0),o([p.parameter()],r.prototype,\"offsetBackfaces\",void 0),o([p.parameter()],r.prototype,\"symbolColors\",void 0),o([p.parameter()],r.prototype,\"vvSize\",void 0),o([p.parameter()],r.prototype,\"vvColor\",void 0),o([p.parameter()],r.prototype,\"verticalOffset\",void 0),o([p.parameter()],r.prototype,\"receiveShadows\",void 0),o([p.parameter()],r.prototype,\"slice\",void 0),o([p.parameter()],r.prototype,\"sliceHighlightDisabled\",void 0),o([p.parameter()],r.prototype,\"receiveAmbientOcclusion\",void 0),o([p.parameter()],r.prototype,\"screenSizePerspective\",void 0),o([p.parameter()],r.prototype,\"textureAlphaPremultiplied\",void 0),o([p.parameter()],r.prototype,\"treeRendering\",void 0),o([p.parameter()],r.prototype,\"hasColorTexture\",void 0),o([p.parameter()],r.prototype,\"usePBR\",void 0),o([p.parameter()],r.prototype,\"hasMetalnessAndRoughnessTexture\",void 0),o([p.parameter()],r.prototype,\"hasEmissionTexture\",void 0),o([p.parameter()],r.prototype,\"hasOcclusionTexture\",void 0),o([p.parameter()],r.prototype,\"hasNormalTexture\",void 0),o([p.parameter()],r.prototype,\"instanced\",void 0),o([p.parameter()],r.prototype,\"instancedColor\",void 0),o([p.parameter()],r.prototype,\"instancedDoublePrecision\",void 0),o([p.parameter()],r.prototype,\"vertexTangents\",void 0),o([p.parameter()],r.prototype,\"normalsTypeDerivate\",void 0),r}(p.ShaderTechniqueConfiguration);r.DefaultMaterialTechniqueConfiguration=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\",\"../lib/DefaultVertexAttributeLocations\",\"./sources/resolver\"],function(e,r,t,a){Object.defineProperty(r,\"__esModule\",{value:!0}),r.program={name:\"laserline\",shaders:{vertexShader:a.resolveIncludes(\"util/quad.vert\"),fragmentShader:a.resolveIncludes(\"renderer/laserLine/laserLine.frag\")},attributes:t.Default3D}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.14/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../core/tsSupport/makeTemplateObjectHelper\",\"../core/shaderLibrary/Slice.glsl\",\"../core/shaderLibrary/attributes/RibbonVertexPosition.glsl\",\"../core/shaderLibrary/shading/LineStipple.glsl\",\"../core/shaderLibrary/shading/PiUtils.glsl\",\"../core/shaderModules/interfaces\",\"../core/shaderModules/ShaderBuilder\"],function(e,n,t,i,o,r,s,l,a){function p(e){var n=new a.ShaderBuilder;return n.extensions.add(\"GL_OES_standard_derivatives\"),n.include(s.PiUtils),n.include(o.RibbonVertexPosition,e),n.include(r.LineStipple,e),n.vertex.uniforms.add(\"proj\",\"mat4\").add(\"view\",\"mat4\").add(\"model\",\"mat4\").add(\"nearPlane\",\"float\").add(\"pixelRatio\",\"float\").add(\"miterLimit\",\"float\").add(\"screenSize\",\"vec2\"),n.attributes.add(\"position\",\"vec3\"),n.attributes.add(\"subdivisionFactor\",\"float\"),n.attributes.add(\"uv0\",\"vec2\"),n.attributes.add(\"auxpos1\",\"vec3\"),n.attributes.add(\"auxpos2\",\"vec3\"),n.varyings.add(\"vColor\",\"vec4\"),n.varyings.add(\"vpos\",\"vec3\"),n.vertex.code.add(l.glsl(c||(c=t([\"\\n\\t\\t#define PERPENDICULAR(v) vec2(v.y, -v.x);\\n\\t\\t#define ISOUTSIDE (left.x * right.y - left.y * right.x)*uv0.y > 0.0\\n\\n\\t\\tfloat interp(float ncp, vec4 a, vec4 b) {\\n\\t\\t\\treturn (-ncp - a.z) / (b.z - a.z);\\n\\t\\t}\\n\\n\\t\\tvec2 rotate(vec2 v, float a) {\\n\\t\\t\\tfloat s = sin(a);\\n\\t\\t\\tfloat c = cos(a);\\n\\t\\t\\tmat2 m = mat2(c, -s, s, c);\\n\\t\\t\\treturn m * v;\\n\\t\\t}\\n\"],[\"\\n\\t\\t#define PERPENDICULAR(v) vec2(v.y, -v.x);\\n\\t\\t#define ISOUTSIDE (left.x * right.y - left.y * right.x)*uv0.y > 0.0\\n\\n\\t\\tfloat interp(float ncp, vec4 a, vec4 b) {\\n\\t\\t\\treturn (-ncp - a.z) / (b.z - a.z);\\n\\t\\t}\\n\\n\\t\\tvec2 rotate(vec2 v, float a) {\\n\\t\\t\\tfloat s = sin(a);\\n\\t\\t\\tfloat c = cos(a);\\n\\t\\t\\tmat2 m = mat2(c, -s, s, c);\\n\\t\\t\\treturn m * v;\\n\\t\\t}\\n\"])))),n.vertex.code.add(l.glsl(d||(d=t([\"\\n    vec4 projectAndScale(vec4 pos) {\\n      vec4 posNdc = proj * pos;\\n\\n      // Note that posNdc is in -1:1, scaling by screenSize converts this to a coordinate system\\n      // that is twice scaled (going from -size:size).\\n      posNdc.xy *= screenSize / posNdc.w;\\n      return posNdc;\\n    }\\n\"],[\"\\n    vec4 projectAndScale(vec4 pos) {\\n      vec4 posNdc = proj * pos;\\n\\n      // Note that posNdc is in -1:1, scaling by screenSize converts this to a coordinate system\\n      // that is twice scaled (going from -size:size).\\n      posNdc.xy *= screenSize / posNdc.w;\\n      return posNdc;\\n    }\\n\"])))),n.vertex.code.add(l.glsl(v||(v=t([\"\\n    void clipAndTransform(inout vec4 pos, inout vec4 prev, inout vec4 next, in bool isStartVertex) {\\n      float vnp = nearPlane*0.99;\\n\\n      //current pos behind ncp --\\x3e we need to clip\\n      if(pos.z > -nearPlane) {\\n        if (!isStartVertex) {\\n          //previous in front of ncp\\n          if(prev.z < -nearPlane) {\\n            pos = mix(prev, pos, interp(vnp, prev, pos));\\n            next = pos;\\n          } else {\\n            pos = vec4(0.0, 0.0, 0.0, 1.0);\\n          }\\n        }\\n        //next in front of ncp\\n        if(isStartVertex) {\\n          if(next.z < -nearPlane) {\\n            pos = mix(pos, next, interp(vnp, pos, next));\\n            prev = pos;\\n          } else {\\n            pos = vec4(0.0, 0.0, 0.0, 1.0);\\n          }\\n        }\\n      } else {\\n        //current position visible\\n        //previous behind ncp\\n        if (prev.z > -nearPlane) {\\n          prev = mix(pos, prev, interp(vnp, pos, prev));\\n        }\\n        //next behind ncp\\n        if (next.z > -nearPlane) {\\n          next = mix(next, pos, interp(vnp, next, pos));\\n        }\\n      }\\n\\n      pos = projectAndScale(pos);\\n      next = projectAndScale(next);\\n      prev = projectAndScale(prev);\\n    }\\n\"],[\"\\n    void clipAndTransform(inout vec4 pos, inout vec4 prev, inout vec4 next, in bool isStartVertex) {\\n      float vnp = nearPlane*0.99;\\n\\n      //current pos behind ncp --\\x3e we need to clip\\n      if(pos.z > -nearPlane) {\\n        if (!isStartVertex) {\\n          //previous in front of ncp\\n          if(prev.z < -nearPlane) {\\n            pos = mix(prev, pos, interp(vnp, prev, pos));\\n            next = pos;\\n          } else {\\n            pos = vec4(0.0, 0.0, 0.0, 1.0);\\n          }\\n        }\\n        //next in front of ncp\\n        if(isStartVertex) {\\n          if(next.z < -nearPlane) {\\n            pos = mix(pos, next, interp(vnp, pos, next));\\n            prev = pos;\\n          } else {\\n            pos = vec4(0.0, 0.0, 0.0, 1.0);\\n          }\\n        }\\n      } else {\\n        //current position visible\\n        //previous behind ncp\\n        if (prev.z > -nearPlane) {\\n          prev = mix(pos, prev, interp(vnp, pos, prev));\\n        }\\n        //next behind ncp\\n        if (next.z > -nearPlane) {\\n          next = mix(next, pos, interp(vnp, next, pos));\\n        }\\n      }\\n\\n      pos = projectAndScale(pos);\\n      next = projectAndScale(next);\\n      prev = projectAndScale(prev);\\n    }\\n\"])))),n.vertex.code.add(l.glsl(m||(m=t([\"\\n  void main(void) {\\n    float coverage = 1.0;\\n    vpos = (model * vec4(position, 1.0)).xyz;\\n\\n    // Check for special value of uv0.y which is used by the Renderer when graphics\\n    // are removed before the VBO is recompacted. If this is the case, then we just\\n    // project outside of clip space.\\n    if (uv0.y == 0.0) {\\n      // Project out of clip space\\n      gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\\n    }\\n    else {\\n      bool isStartVertex = abs(abs(uv0.y)-3.0) == 1.0;\\n      bool isJoin = abs(uv0.y)-3.0 < 0.0;\\n\\n      float lineWidth = getSize() * pixelRatio;\\n\\n      // convert sub-pixel coverage to alpha\\n      if( lineWidth<1.0 ){\\n        coverage = lineWidth;\\n        lineWidth = 1.0;\\n      }\\n\\n      vec4 pos  = view * vec4((model * vec4(position.xyz, 1.0)).xyz, 1.0);\\n      vec4 prev = view * vec4((model * vec4(auxpos1.xyz, 1.0)).xyz, 1.0);\\n      vec4 next = view * vec4((model * vec4(auxpos2.xyz, 1.0)).xyz, 1.0);\\n\\n      clipAndTransform(pos, prev, next, isStartVertex);\\n\\n      vec2 left = (pos.xy - prev.xy);\\n      vec2 right = (next.xy - pos.xy);\\n\\n      float leftLen = length(left);\\n      float rightLen = length(right);\\n  \"],[\"\\n  void main(void) {\\n    float coverage = 1.0;\\n    vpos = (model * vec4(position, 1.0)).xyz;\\n\\n    // Check for special value of uv0.y which is used by the Renderer when graphics\\n    // are removed before the VBO is recompacted. If this is the case, then we just\\n    // project outside of clip space.\\n    if (uv0.y == 0.0) {\\n      // Project out of clip space\\n      gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\\n    }\\n    else {\\n      bool isStartVertex = abs(abs(uv0.y)-3.0) == 1.0;\\n      bool isJoin = abs(uv0.y)-3.0 < 0.0;\\n\\n      float lineWidth = getSize() * pixelRatio;\\n\\n      // convert sub-pixel coverage to alpha\\n      if( lineWidth<1.0 ){\\n        coverage = lineWidth;\\n        lineWidth = 1.0;\\n      }\\n\\n      vec4 pos  = view * vec4((model * vec4(position.xyz, 1.0)).xyz, 1.0);\\n      vec4 prev = view * vec4((model * vec4(auxpos1.xyz, 1.0)).xyz, 1.0);\\n      vec4 next = view * vec4((model * vec4(auxpos2.xyz, 1.0)).xyz, 1.0);\\n\\n      clipAndTransform(pos, prev, next, isStartVertex);\\n\\n      vec2 left = (pos.xy - prev.xy);\\n      vec2 right = (next.xy - pos.xy);\\n\\n      float leftLen = length(left);\\n      float rightLen = length(right);\\n  \"])))),e.stippleEnabled&&n.vertex.code.add(l.glsl(f||(f=t([\"\\n      // uv0.x is either 0 or 1, depending on whether this is considered the start of a line segment\\n      // or the end. If start, then use pos->next, otherwise use prev->pos to define the line segment\\n      // vector\\n      vec4 stippleSegmentInfo = mix(vec4(pos.xy, right), vec4(prev.xy, left), uv0.x);\\n      vec2 stippleSegmentOrigin = stippleSegmentInfo.xy;\\n\\n      // Scale s.t. it's in units of stipple pattern size.\\n      vec2 stippleSegmentDirection = stippleSegmentInfo.zw;\\n    \"],[\"\\n      // uv0.x is either 0 or 1, depending on whether this is considered the start of a line segment\\n      // or the end. If start, then use pos->next, otherwise use prev->pos to define the line segment\\n      // vector\\n      vec4 stippleSegmentInfo = mix(vec4(pos.xy, right), vec4(prev.xy, left), uv0.x);\\n      vec2 stippleSegmentOrigin = stippleSegmentInfo.xy;\\n\\n      // Scale s.t. it's in units of stipple pattern size.\\n      vec2 stippleSegmentDirection = stippleSegmentInfo.zw;\\n    \"])))),n.vertex.code.add(l.glsl(h||(h=t(['\\n    left = (leftLen > 0.001) ? left/leftLen : vec2(0.0, 0.0);\\n    right = (rightLen > 0.001) ? right/rightLen : vec2(0.0, 0.0);\\n\\n    vec2 capDisplacementDir = vec2(0, 0);\\n    vec2 joinDisplacementDir = vec2(0, 0);\\n    float displacementLen = lineWidth;\\n\\n    if (isJoin) {\\n\\n      // JOIN handling ---------------------------------------------------\\n      // determine if vertex is on the \"outside or \"inside\" of the join\\n      bool isOutside = ISOUTSIDE;\\n\\n      // compute miter join position first\\n      joinDisplacementDir = normalize(left + right);\\n      joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\\n\\n      // computer miter stretch\\n      if (leftLen > 0.001 && rightLen > 0.001) {\\n        float nDotSeg = dot(joinDisplacementDir, left);\\n        displacementLen /= length(nDotSeg*left - joinDisplacementDir);\\n\\n        // limit displacement of inner vertices\\n        if (!isOutside) {\\n          displacementLen = min(displacementLen, min(leftLen, rightLen)/abs(nDotSeg));\\n        }\\n      }\\n\\n      if (isOutside && (displacementLen > miterLimit*lineWidth)) {\\n    '],['\\n    left = (leftLen > 0.001) ? left/leftLen : vec2(0.0, 0.0);\\n    right = (rightLen > 0.001) ? right/rightLen : vec2(0.0, 0.0);\\n\\n    vec2 capDisplacementDir = vec2(0, 0);\\n    vec2 joinDisplacementDir = vec2(0, 0);\\n    float displacementLen = lineWidth;\\n\\n    if (isJoin) {\\n\\n      // JOIN handling ---------------------------------------------------\\n      // determine if vertex is on the \"outside or \"inside\" of the join\\n      bool isOutside = ISOUTSIDE;\\n\\n      // compute miter join position first\\n      joinDisplacementDir = normalize(left + right);\\n      joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\\n\\n      // computer miter stretch\\n      if (leftLen > 0.001 && rightLen > 0.001) {\\n        float nDotSeg = dot(joinDisplacementDir, left);\\n        displacementLen /= length(nDotSeg*left - joinDisplacementDir);\\n\\n        // limit displacement of inner vertices\\n        if (!isOutside) {\\n          displacementLen = min(displacementLen, min(leftLen, rightLen)/abs(nDotSeg));\\n        }\\n      }\\n\\n      if (isOutside && (displacementLen > miterLimit*lineWidth)) {\\n    '])))),e.roundJoins?n.vertex.code.add(l.glsl(g||(g=t([\"\\n        vec2 startDir;\\n        vec2 endDir;\\n\\n        if (leftLen < 0.001) {\\n          startDir = right;\\n        }\\n        else{\\n          startDir = left;\\n        }\\n        startDir = normalize(startDir);\\n        startDir = PERPENDICULAR(startDir);\\n\\n        if (rightLen < 0.001) {\\n          endDir = left;\\n        }\\n        else{\\n          endDir = right;\\n        }\\n        endDir = normalize(endDir);\\n        endDir = PERPENDICULAR(endDir);\\n\\n        float rotationAngle = acos(clamp(dot(startDir, endDir), -1.0, 1.0));\\n        joinDisplacementDir = rotate(startDir, -sign(uv0.y) * subdivisionFactor * rotationAngle);\\n      \"],[\"\\n        vec2 startDir;\\n        vec2 endDir;\\n\\n        if (leftLen < 0.001) {\\n          startDir = right;\\n        }\\n        else{\\n          startDir = left;\\n        }\\n        startDir = normalize(startDir);\\n        startDir = PERPENDICULAR(startDir);\\n\\n        if (rightLen < 0.001) {\\n          endDir = left;\\n        }\\n        else{\\n          endDir = right;\\n        }\\n        endDir = normalize(endDir);\\n        endDir = PERPENDICULAR(endDir);\\n\\n        float rotationAngle = acos(clamp(dot(startDir, endDir), -1.0, 1.0));\\n        joinDisplacementDir = rotate(startDir, -sign(uv0.y) * subdivisionFactor * rotationAngle);\\n      \"])))):n.vertex.code.add(l.glsl(D||(D=t([\"\\n        // convert to bevel join if miterLimit is exceeded\\n        if (leftLen < 0.001) {\\n          joinDisplacementDir = right;\\n        }\\n        else if (rightLen < 0.001) {\\n          joinDisplacementDir = left;\\n        }\\n        else {\\n          joinDisplacementDir = isStartVertex ? right : left;\\n        }\\n        joinDisplacementDir = normalize(joinDisplacementDir);\\n        joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\\n  \"],[\"\\n        // convert to bevel join if miterLimit is exceeded\\n        if (leftLen < 0.001) {\\n          joinDisplacementDir = right;\\n        }\\n        else if (rightLen < 0.001) {\\n          joinDisplacementDir = left;\\n        }\\n        else {\\n          joinDisplacementDir = isStartVertex ? right : left;\\n        }\\n        joinDisplacementDir = normalize(joinDisplacementDir);\\n        joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\\n  \"])))),n.vertex.code.add(l.glsl(x||(x=t([\"\\n        displacementLen = lineWidth;\\n      }\\n    } else {\\n    // CAP handling ---------------------------------------------------\\n    if (leftLen < 0.001) {\\n      joinDisplacementDir = right;\\n    }\\n    else if (rightLen < 0.001) {\\n      joinDisplacementDir = left;\\n    }\\n    else {\\n      joinDisplacementDir = isStartVertex ? right : left;\\n    }\\n    joinDisplacementDir = normalize(joinDisplacementDir);\\n    joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\\n    displacementLen = lineWidth;\\n\\n    capDisplacementDir = isStartVertex ? -right : left;\\n  \"],[\"\\n        displacementLen = lineWidth;\\n      }\\n    } else {\\n    // CAP handling ---------------------------------------------------\\n    if (leftLen < 0.001) {\\n      joinDisplacementDir = right;\\n    }\\n    else if (rightLen < 0.001) {\\n      joinDisplacementDir = left;\\n    }\\n    else {\\n      joinDisplacementDir = isStartVertex ? right : left;\\n    }\\n    joinDisplacementDir = normalize(joinDisplacementDir);\\n    joinDisplacementDir = PERPENDICULAR(joinDisplacementDir);\\n    displacementLen = lineWidth;\\n\\n    capDisplacementDir = isStartVertex ? -right : left;\\n  \"])))),e.roundCaps?n.vertex.code.add(l.glsl(u||(u=t([\"\\n    float angle = subdivisionFactor*PI*0.5;\\n    joinDisplacementDir *= cos(angle);\\n    capDisplacementDir *= sin(angle);\\n    \"],[\"\\n    float angle = subdivisionFactor*PI*0.5;\\n    joinDisplacementDir *= cos(angle);\\n    capDisplacementDir *= sin(angle);\\n    \"])))):n.vertex.code.add(l.glsl(S||(S=t([\"\\n    capDisplacementDir *= subdivisionFactor;\\n    \"],[\"\\n    capDisplacementDir *= subdivisionFactor;\\n    \"])))),n.vertex.code.add(l.glsl(L||(L=t([\"\\n  }\\n\\n  pos.xy += joinDisplacementDir * sign(uv0.y) * displacementLen;\\n  pos.xy += capDisplacementDir * displacementLen;\\n  \"],[\"\\n  }\\n\\n  pos.xy += joinDisplacementDir * sign(uv0.y) * displacementLen;\\n  pos.xy += capDisplacementDir * displacementLen;\\n  \"])))),e.stippleEnabled&&(n.vertex.code.add(l.glsl(b||(b=t([\"\\n    {\\n      // Compute the stipple pattern UV coordinate from the actual position, based on the origin\\n      // and direction of the line segment on which the stipple pattern is based.\\n\\n      // Project the vector from the origin of the segment to the vertex onto the line segment.\\n      // Note the 0.5 factor due to projected positions being at twice the screen size scale (see projectAndScale)\\n      vec2 posVec = pos.xy - stippleSegmentOrigin;\\n\\n      float stippleSegmentDirectionLength = length(stippleSegmentDirection);\\n    \"],[\"\\n    {\\n      // Compute the stipple pattern UV coordinate from the actual position, based on the origin\\n      // and direction of the line segment on which the stipple pattern is based.\\n\\n      // Project the vector from the origin of the segment to the vertex onto the line segment.\\n      // Note the 0.5 factor due to projected positions being at twice the screen size scale (see projectAndScale)\\n      vec2 posVec = pos.xy - stippleSegmentOrigin;\\n\\n      float stippleSegmentDirectionLength = length(stippleSegmentDirection);\\n    \"])))),e.stippleIntegerRepeatsEnabled&&n.vertex.code.add(l.glsl(P||(P=t([\"\\n      float numberOfPatternRepeats = stippleSegmentDirectionLength * 0.5 * stipplePatternPixelSizeInv;\\n      float roundedNumberOfPatternRepeats = max(1.0, floor(numberOfPatternRepeats + 0.5));\\n      stipplePatternUvMax = roundedNumberOfPatternRepeats;\\n      \"],[\"\\n      float numberOfPatternRepeats = stippleSegmentDirectionLength * 0.5 * stipplePatternPixelSizeInv;\\n      float roundedNumberOfPatternRepeats = max(1.0, floor(numberOfPatternRepeats + 0.5));\\n      stipplePatternUvMax = roundedNumberOfPatternRepeats;\\n      \"])))),n.vertex.code.add(l.glsl(y||(y=t([\"\\n      if (stippleSegmentDirectionLength >= 0.001) {\\n        // Project the vertex position onto the line segment.\\n        float projectedLength = dot(stippleSegmentDirection, posVec) / stippleSegmentDirectionLength * 0.5;\\n     \",\"\\n        stipplePatternUv = projectedLength * wholeNumberOfRepeatsScale * stipplePatternPixelSizeInv * pos.w;\\n        } else {\\n          stipplePatternUv = 1.0;\\n        }\\n      }\\n    \"],[\"\\n      if (stippleSegmentDirectionLength >= 0.001) {\\n        // Project the vertex position onto the line segment.\\n        float projectedLength = dot(stippleSegmentDirection, posVec) / stippleSegmentDirectionLength * 0.5;\\n     \",\"\\n        stipplePatternUv = projectedLength * wholeNumberOfRepeatsScale * stipplePatternPixelSizeInv * pos.w;\\n        } else {\\n          stipplePatternUv = 1.0;\\n        }\\n      }\\n    \"])),e.stippleIntegerRepeatsEnabled?\"float wholeNumberOfRepeatsScale = roundedNumberOfPatternRepeats / numberOfPatternRepeats;\":\"float wholeNumberOfRepeatsScale = 1.0;\"))),n.vertex.code.add(l.glsl(j||(j=t([\"\\n      // Convert back into NDC\\n      pos.xy = pos.xy / screenSize * pos.w;\\n\\n      vColor = getColor();\\n      vColor.a *= coverage;\\n\\n      gl_Position = pos;\\n    }\\n  }\\n  \"],[\"\\n      // Convert back into NDC\\n      pos.xy = pos.xy / screenSize * pos.w;\\n\\n      vColor = getColor();\\n      vColor.a *= coverage;\\n\\n      gl_Position = pos;\\n    }\\n  }\\n  \"])))),n.include(i.Slice,e),0===e.output&&(n.fragment.uniforms.add(\"symbolColor\",\"vec4\"),n.fragment.code.add(l.glsl(z||(z=t([\"\\n    void main() {\\n      discardBySlice(vpos);\\n      float stippleAlpha = getStippleAlpha();\\n      discardByStippleAlpha(stippleAlpha, STIPPLE_ALPHA_COLOR_DISCARD);\\n      vec4 color = symbolColor * vColor;\\n      gl_FragColor = highlightSlice(blendStipple(color, stippleAlpha), vpos);\\n    }\\n    \"],[\"\\n    void main() {\\n      discardBySlice(vpos);\\n      float stippleAlpha = getStippleAlpha();\\n      discardByStippleAlpha(stippleAlpha, STIPPLE_ALPHA_COLOR_DISCARD);\\n      vec4 color = symbolColor * vColor;\\n      gl_FragColor = highlightSlice(blendStipple(color, stippleAlpha), vpos);\\n    }\\n    \"]))))),4===e.output&&n.fragment.code.add(l.glsl(A||(A=t([\"\\n      void main() {\\n        discardBySlice(vpos);\\n        discardByStippleAlpha(getStippleAlpha(), STIPPLE_ALPHA_HIGHLIGHT_DISCARD);\\n        gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n      }\\n    \"],[\"\\n      void main() {\\n        discardBySlice(vpos);\\n        discardByStippleAlpha(getStippleAlpha(), STIPPLE_ALPHA_HIGHLIGHT_DISCARD);\\n        gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n      }\\n    \"])))),n}Object.defineProperty(n,\"__esModule\",{value:!0}),n.build=p;var c,d,v,m,f,h,g,D,x,u,S,L,b,P,y,j,z,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\",\"../../../../core/tsSupport/assignHelper\",\"../../../../core/maybe\",\"../../../../core/maybe\",\"../core/shaderLibrary/Slice.glsl\",\"../core/shaderLibrary/Transform.glsl\",\"../core/shaderLibrary/output/OutputHighlight.glsl\",\"../core/shaderLibrary/shading/VisualVariables.glsl\",\"../core/shaderTechnique/ReloadableShaderModule\",\"../core/shaderTechnique/ShaderTechnique\",\"../core/shaderTechnique/ShaderTechniqueConfiguration\",\"./RibbonLine.glsl\",\"../../../webgl/Program\",\"../../../webgl/renderState\"],function(e,t,i,r,o,p,a,n,s,l,u,d,h,f,c,b,g){Object.defineProperty(t,\"__esModule\",{value:!0}),t.RibbonVertexAttributeConstants={POSITION:\"position\",SUBDIVISIONFACTOR:\"subdivisionFactor\",UV0:\"uv0\",AUXPOS1:\"auxpos1\",AUXPOS2:\"auxpos2\",SUBDIVISIONS:\"subdivisions\",COLOR:\"color\",COLORFEATUREATTRIBUTE:\"colorFeatureAttribute\",SIZE:\"size\",SIZEFEATUREATTRIBUTE:\"sizeFeatureAttribute\",OPACITYFEATUREATTRIBUTE:\"opacityFeatureAttribute\"},t.ribbonVertexAttributeLocations={position:0,subdivisionFactor:1,uv0:2,auxpos1:3,auxpos2:4,size:6,sizeFeatureAttribute:6,color:5,colorFeatureAttribute:5,opacityFeatureAttribute:7};var m=function(r){function o(e,t){var i=r.call(this,e,t)||this;return i.stipplePattern=null,i.stippleTextureBind=null,i.stippleTextureRepository=e.stippleTextureRepository,i}return i(o,r),o.prototype.initializeProgram=function(e){var i=o.shader.get(),r=this.configuration,p=i.build({output:r.output,slicePlaneEnabled:r.slicePlaneEnabled,sliceHighlightDisabled:r.sliceHighlightDisabled,stippleEnabled:r.stippleEnabled,stippleOffColorEnabled:r.stippleOffColorEnabled,stippleUVMaxEnabled:r.stippleIntegerRepeatsEnabled,stippleIntegerRepeatsEnabled:r.stippleIntegerRepeatsEnabled,roundCaps:r.roundCaps,roundJoins:r.roundJoins,vvColor:r.vvColor,vvSize:r.vvSize,vvOpacity:r.vvOpacity});return new b(e.rctx,p.generateSource(\"vertex\"),p.generateSource(\"fragment\"),t.ribbonVertexAttributeLocations)},o.prototype.dispose=function(){r.prototype.dispose.call(this),this.stippleTextureRepository.release(this.stipplePattern),this.stipplePattern=null,this.stippleTextureBind=null},o.prototype.bindPass=function(e,t,i){if(4===this.configuration.output&&l.OutputHighlight.bindOutputHighlight(e,this.program,i),this.program.setUniform1f(\"symbolLineWidth\",t.width),this.program.setUniform4fv(\"symbolColor\",t.color),this.program.setUniform1f(\"miterLimit\",\"miter\"!==t.join?0:t.miterLimit),this.program.setUniform1f(\"nearPlane\",i.nearFar[0]),this.program.setUniform1f(\"pixelRatio\",i.pixelRatio),this.program.setUniform2fv(\"screenSize\",[i.viewport[2],i.viewport[3]]),u.VisualVariables.bindUniformsWithOpacity(this.program,t),this.stipplePattern!==t.stipplePattern){var r=t.stipplePattern;this.stippleTextureBind=this.stippleTextureRepository.swap(this.stipplePattern,r),this.stipplePattern=r}if(this.configuration.stippleEnabled){var o=a.isSome(this.stippleTextureBind)?this.stippleTextureBind(e,0)*i.pixelRatio:1;if(this.program.setUniform1i(\"stipplePatternTexture\",0),this.program.setUniform1f(\"stipplePatternPixelSizeInv\",1/o),this.configuration.stippleOffColorEnabled){var n=p.expect(t.stippleOffColor);this.program.setUniform4f(\"stippleOffColor\",n[0],n[1],n[2],n.length>3?n[3]:1)}}},o.prototype.bindDraw=function(e){s.Transform.bindUniforms(this.program,e),n.Slice.bindUniformsWithOrigin(this.program,this.configuration,e)},o.prototype.bindInstance=function(e){this.program.setUniformMatrix4fv(\"model\",e.transformation)},o.prototype.initializePipeline=function(){var e=this.configuration;return 0===e.output?g.makePipelineState({blending:g.separateBlendingParams(770,1,771,771),polygonOffset:e.polygonOffset&&v,depthTest:{func:513},depthWrite:!e.transparent&&e.writeDepth&&g.defaultDepthWriteParams,colorWrite:g.defaultColorWriteParams}):g.makePipelineState({polygonOffset:e.polygonOffset&&v,depthTest:{func:513},depthWrite:!e.transparent&&e.writeDepth&&g.defaultDepthWriteParams,colorWrite:g.defaultColorWriteParams})},o.prototype.bindPipelineState=function(e){e.setPipelineState(this.pipeline)},o.shader=new d.ReloadableShaderModule(c,\"./RibbonLine.glsl\",e),o}(h.ShaderTechnique);t.RibbonLineTechnique=m;var v={factor:0,units:-4},y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.output=0,t.slicePlaneEnabled=!1,t.sliceHighlightDisabled=!1,t.vertexColors=!1,t.transparent=!1,t.polygonOffset=!1,t.writeDepth=!1,t.stippleEnabled=!1,t.stippleOffColorEnabled=!1,t.stippleIntegerRepeatsEnabled=!1,t.roundCaps=!1,t.roundJoins=!1,t.vvSize=!1,t.vvColor=!1,t.vvOpacity=!1,t}return i(t,e),r([f.parameter({count:6})],t.prototype,\"output\",void 0),r([f.parameter()],t.prototype,\"slicePlaneEnabled\",void 0),r([f.parameter()],t.prototype,\"sliceHighlightDisabled\",void 0),r([f.parameter()],t.prototype,\"vertexColors\",void 0),r([f.parameter()],t.prototype,\"transparent\",void 0),r([f.parameter()],t.prototype,\"polygonOffset\",void 0),r([f.parameter()],t.prototype,\"writeDepth\",void 0),r([f.parameter()],t.prototype,\"stippleEnabled\",void 0),r([f.parameter()],t.prototype,\"stippleOffColorEnabled\",void 0),r([f.parameter()],t.prototype,\"stippleIntegerRepeatsEnabled\",void 0),r([f.parameter()],t.prototype,\"roundCaps\",void 0),r([f.parameter()],t.prototype,\"roundJoins\",void 0),r([f.parameter()],t.prototype,\"vvSize\",void 0),r([f.parameter()],t.prototype,\"vvColor\",void 0),r([f.parameter()],t.prototype,\"vvOpacity\",void 0),t}(f.ShaderTechniqueConfiguration);t.RibbonLineTechniqueConfiguration=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/makeTemplateObjectHelper\",\"../core/shaderLibrary/ForwardLinearDepth.glsl\",\"../core/shaderLibrary/Slice.glsl\",\"../core/shaderLibrary/Transform.glsl\",\"../core/shaderLibrary/shading/NormalUtils.glsl\",\"../core/shaderLibrary/shading/ReadShadowMap.glsl\",\"../core/shaderLibrary/shading/Water.glsl\",\"../core/shaderLibrary/shading/WaterDistortion.glsl\",\"../core/shaderModules/interfaces\",\"../core/shaderModules/ShaderBuilder\"],function(n,a,e,o,r,i,t,l,d,v,s,c){function g(n){var a=new c.ShaderBuilder;return a.include(i.Transform,{linearDepth:!1}),a.attributes.add(\"position\",\"vec3\"),a.attributes.add(\"uv0\",\"vec2\"),a.vertex.uniforms.add(\"proj\",\"mat4\").add(\"view\",\"mat4\").add(\"model\",\"mat4\").add(\"localOrigin\",\"vec3\"),0===n.output&&(a.include(t.NormalUtils,n),a.include(o.ForwardLinearDepth,n),a.varyings.add(\"vuv\",\"vec2\"),a.varyings.add(\"vpos\",\"vec3\"),a.varyings.add(\"vnormal\",\"vec3\"),a.varyings.add(\"vtbnMatrix\",\"mat3\"),a.vertex.code.add(s.glsl(m||(m=e([\"\\n      void main(void) {\\n        vuv = uv0;\\n        vpos = (model * vec4(position, 1.0)).xyz;\\n\\n        vnormal = getLocalUp(vpos, localOrigin);\\n        vtbnMatrix = getTBNMatrix(vnormal);\\n\\n        gl_Position = transformPosition(proj, view, vpos);\\n        forwardLinearDepth();\\n      }\\n    \"],[\"\\n      void main(void) {\\n        vuv = uv0;\\n        vpos = (model * vec4(position, 1.0)).xyz;\\n\\n        vnormal = getLocalUp(vpos, localOrigin);\\n        vtbnMatrix = getTBNMatrix(vnormal);\\n\\n        gl_Position = transformPosition(proj, view, vpos);\\n        forwardLinearDepth();\\n      }\\n    \"])))),a.include(v.WaterDistortion,n),a.include(r.Slice,n),n.receiveShadows&&a.include(l.ReadShadowMap,n),a.include(d.Water,n),a.fragment.uniforms.add(\"waterColor\",\"vec4\").add(\"lightingMainDirection\",\"vec3\").add(\"lightingMainIntensity\",\"vec3\").add(\"camPos\",\"vec3\").add(\"timeElapsed\",\"float\"),a.fragment.code.add(s.glsl(p||(p=e([\"\\n      void main() {\\n        discardBySlice(vpos);\\n        vec3 localUp = vnormal;\\n        // the created normal is in tangent space\\n        vec3 tangentNormal = getSurfaceNormal(vuv, timeElapsed);\\n\\n        // we rotate the normal according to the tangent-bitangent-normal-Matrix\\n        vec3 n = normalize(vtbnMatrix * tangentNormal);\\n        vec3 v = -normalize(vpos - camPos);\\n        vec3 l = normalize(-lightingMainDirection);\\n        \"],[\"\\n      void main() {\\n        discardBySlice(vpos);\\n        vec3 localUp = vnormal;\\n        // the created normal is in tangent space\\n        vec3 tangentNormal = getSurfaceNormal(vuv, timeElapsed);\\n\\n        // we rotate the normal according to the tangent-bitangent-normal-Matrix\\n        vec3 n = normalize(vtbnMatrix * tangentNormal);\\n        vec3 v = -normalize(vpos - camPos);\\n        vec3 l = normalize(-lightingMainDirection);\\n        \"])))),n.receiveShadows?a.fragment.code.add(s.glsl(h||(h=e([\"\\n        float shadow = 1.0 - readShadowMap(vpos, linearDepth);\\n      \"],[\"\\n        float shadow = 1.0 - readShadowMap(vpos, linearDepth);\\n      \"])))):a.fragment.code.add(s.glsl(u||(u=e([\"\\n        float shadow = 1.0;\\n      \"],[\"\\n        float shadow = 1.0;\\n      \"])))),a.fragment.code.add(s.glsl(f||(f=e([\"\\n        vec4 final = vec4(getSeaColor(n, v, l, waterColor.rgb, lightingMainIntensity, localUp, shadow), waterColor.w);\\n\\n        // gamma correction\\n        gl_FragColor = delinearizeGamma(final);\\n        gl_FragColor = highlightSlice(gl_FragColor, vpos);\\n      }\\n    \"],[\"\\n        vec4 final = vec4(getSeaColor(n, v, l, waterColor.rgb, lightingMainIntensity, localUp, shadow), waterColor.w);\\n\\n        // gamma correction\\n        gl_FragColor = delinearizeGamma(final);\\n        gl_FragColor = highlightSlice(gl_FragColor, vpos);\\n      }\\n    \"]))))),2===n.output&&(a.include(t.NormalUtils,n),a.include(v.WaterDistortion,n),a.include(r.Slice,n),a.varyings.add(\"vpos\",\"vec3\"),a.varyings.add(\"vuv\",\"vec2\"),a.vertex.code.add(s.glsl(w||(w=e([\"\\n        void main(void) {\\n          vuv = uv0;\\n          vpos = (model * vec4(position, 1.0)).xyz;\\n          gl_Position = transformPosition(proj, view, vpos);\\n        }\\n    \"],[\"\\n        void main(void) {\\n          vuv = uv0;\\n          vpos = (model * vec4(position, 1.0)).xyz;\\n          gl_Position = transformPosition(proj, view, vpos);\\n        }\\n    \"])))),a.fragment.uniforms.add(\"timeElapsed\",\"float\"),a.fragment.code.add(s.glsl(y||(y=e([\"\\n        void main() {\\n          discardBySlice(vpos);\\n          // the created normal is in tangent space\\n          vec3 tangentNormal = getSurfaceNormal(vuv, timeElapsed);\\n          tangentNormal = normalize(tangentNormal);\\n          gl_FragColor = vec4((tangentNormal + vec3(1.0)) * 0.5, 0.0);\\n        }\\n    \"],[\"\\n        void main() {\\n          discardBySlice(vpos);\\n          // the created normal is in tangent space\\n          vec3 tangentNormal = getSurfaceNormal(vuv, timeElapsed);\\n          tangentNormal = normalize(tangentNormal);\\n          gl_FragColor = vec4((tangentNormal + vec3(1.0)) * 0.5, 0.0);\\n        }\\n    \"]))))),5===n.output&&(a.include(t.NormalUtils,n),a.varyings.add(\"vpos\",\"vec3\"),a.vertex.code.add(s.glsl(S||(S=e([\"\\n        void main(void) {\\n          vpos = (model * vec4(position, 1.0)).xyz;\\n          gl_Position = transformPosition(proj, view, vpos);\\n        }\\n    \"],[\"\\n        void main(void) {\\n          vpos = (model * vec4(position, 1.0)).xyz;\\n          gl_Position = transformPosition(proj, view, vpos);\\n        }\\n    \"])))),a.fragment.uniforms.add(\"waterColor\",\"vec4\"),a.fragment.code.add(s.glsl(M||(M=e([\"\\n        void main() {\\n          gl_FragColor = waterColor;\\n        }\\n    \"],[\"\\n        void main() {\\n          gl_FragColor = waterColor;\\n        }\\n    \"]))))),a}Object.defineProperty(a,\"__esModule\",{value:!0}),a.build=g;var m,p,h,u,f,w,y,S,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\",\"./shaderRepository\",\"../../../../webgl/ShaderCompiler\"],function(e,r,n,o){function t(e){var r=n;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 o(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{environment:{\"realisticAtmosphere.frag\":\"#include <util/fsPrecision.glsl>\\n#include <util/encoding.glsl>\\n#include <util/color.glsl>\\nuniform vec3 lightingMainDirection;\\nuniform vec3 invWavelength;\\nuniform vec3 invWavelengthScaled;\\nconst float krESun = 0.075;\\nconst float kmESun = 0.015;\\nuniform vec2 radii;\\n#define innerRadius radii[0]\\n#define outerRadius radii[1]\\nuniform vec4 atmosParams1;\\nuniform vec4 atmosParams2;\\n#define shellScale atmosParams1.x\\n#define shellDepth vec2(atmosParams1.y, atmosParams2.y)\\n#define scaleOverScaleDepth vec2(atmosParams1.z, atmosParams2.z)\\n#define oneOverScaleDepth vec2(atmosParams1.w, atmosParams2.w)\\n#ifndef HAZE\\nuniform vec3 atmosParams3;\\nuniform float innerFadeDistance;\\nuniform float altitudeFade;\\n#define g atmosParams2.x\\n#define gSq atmosParams3.x\\n#define miePhaseCoefficients atmosParams3.y\\n#define lowerAlphaBlendBound atmosParams3.z\\n#endif\\nuniform vec3 cameraPosition;\\nuniform vec2 nearFar;\\nuniform vec4 sphereComp;\\n#define cameraHeight sphereComp[0]\\n#define cameraHeightSq sphereComp[1]\\n#define C sphereComp[2]\\n#define CSur sphereComp[3]\\n#ifdef HAZE\\nconst float exposure = 1.5;\\n#else\\nconst float exposure = 2.0;\\n#endif\\n#ifdef HAZE\\nuniform sampler2D depthTex;\\n#endif\\nvarying vec3 eyeDir;\\nvarying vec3 worldRay;\\nvarying vec2 vtc;\\nconst float samples = 5.0;\\nconst int maxSamples = 5;\\n#ifdef HAZE\\n  const vec3 oneOverGamma = vec3(1.0);\\n#else\\n  const vec3 oneOverGamma = vec3(0.454545);\\n#endif\\nvec3 expTM(vec3 inputColor,float _exposure) {\\n    return pow(1.0 - exp(inputColor * -_exposure), oneOverGamma);\\n}\\n#ifndef HAZE\\nvec3 reinhardTM(vec3 inputColor, float _exposure) {\\n  vec3 intermediate = inputColor * _exposure;\\n  intermediate /= ( 1.0 + intermediate );\\n  return pow(intermediate, oneOverGamma);\\n}\\n#endif\\nfloat scale(float _cos) {\\n  float x = 1.0 - _cos;\\n  return exp( -0.00287 + x * ( 0.459 + x * ( 3.83 + x * (-6.80 + x * 5.25 ))));\\n}\\nvoid main() {\\n  vec3 worldSpaceRay = normalize(worldRay);\\n  float B = 2.0 * dot(cameraPosition, worldSpaceRay);\\n  float det = B * B - 4.0 * C;\\n  float detSur = B * B - 4.0 * CSur;\\n  float minRayStart = 0.0;\\n#ifndef HAZE\\n  float surfaceBlend = 0.0;\\n  vec4 surfaceColor = vec4(0.0);\\n  if (detSur >= 0.0) {\\n    float nearSurface = max(0.0, 0.5 *(-B - sqrt(detSur)));\\n    float farSurface = max(0.0, 0.5 *(-B + sqrt(detSur)));\\n    if (nearSurface == 0.0) {\\n      minRayStart = farSurface;\\n    }\\n    vec3 vPos = cameraPosition + worldSpaceRay * nearSurface;\\n    float lightAngle = dot(-lightingMainDirection, normalize(vPos));\\n    float brightness = max(0.0, (smoothstep(-1.0, 0.8, 2.0 * lightAngle)));\\n    surfaceColor = vec4(brightness, brightness, brightness, 1.0 - altitudeFade);\\n    float relDist = (farSurface - nearSurface) / innerFadeDistance;\\n    if (relDist > 1.0) {\\n      gl_FragColor = surfaceColor;\\n      return;\\n    }\\n    surfaceBlend = smoothstep(0.0, 1.0, relDist * relDist);\\n  }\\n#endif\\n  if (det >= 0.0) {\\n#ifdef HAZE\\n    float depthSample = texture2D(depthTex, vtc).r;\\n    float zNear = nearFar[0];\\n    float zFar = nearFar[1];\\n    float zNorm = 2.0 * depthSample - 1.0;\\n    float linDepth = 2.0 * zNear * zFar /\\n      (zFar + zNear - zNorm * (zFar - zNear));\\n    float rayEnd;\\n    float altitudeAlpha = 1.0;\\n    if (depthSample < 1.0 && depthSample > 0.0) {\\n      vec3 cameraSpaceRay = normalize(eyeDir);\\n      cameraSpaceRay /= cameraSpaceRay.z;\\n      cameraSpaceRay *= linDepth;\\n      float cameraSpaceRayLength = length(cameraSpaceRay);\\n      vec3 world = cameraPosition + worldSpaceRay * cameraSpaceRayLength;\\n      float worldRadiusSq = dot(world, world);\\n      float transitionStart = innerRadius + 20000.0;\\n      float transitionHeight = 25000.0;\\n      float transitionEnd = transitionStart + transitionHeight;\\n      float edge0 = transitionStart * transitionStart;\\n      float edge1 = transitionEnd * transitionEnd;\\n      altitudeAlpha = 1.0 - clamp((worldRadiusSq - edge0) / (edge1 - edge0), 0.0, 1.0);\\n      rayEnd = cameraSpaceRayLength;\\n      if (altitudeAlpha > 0.0 && detSur > 0.0) {\\n        float nearSurface = 0.5 * ( -B - sqrt(detSur) );\\n        float interp = clamp(((cameraHeight - innerRadius) - 2000000.0) / 6000000.0, 0.0, 1.0);\\n        rayEnd = mix(cameraSpaceRayLength, nearSurface, interp);\\n      }\\n    }\\n#endif\\n    float rayStart = 0.5 *(-B - sqrt(det));\\n#ifdef HAZE\\n    float near = abs(rayStart);\\n    float far = abs(rayEnd);\\n#else\\n    float rayEnd = 0.5 *(-B + sqrt(det));\\n#endif\\n    float scatterDistance;\\n    if (rayStart < minRayStart)\\n    {\\n      rayStart = minRayStart;\\n#ifndef HAZE\\n      scatterDistance = shellScale * min(0.0, innerRadius - cameraHeight);\\n#endif\\n    }\\n#ifndef HAZE\\n    else\\n    {\\n      scatterDistance = -1.0;\\n    }\\n#endif\\n    vec3 start = cameraPosition + worldSpaceRay * rayStart;\\n#ifdef HAZE\\n    vec3 end = cameraPosition + worldSpaceRay * rayEnd;\\n    float endLength = length(end);\\n    float altitudeEnd = endLength - innerRadius;\\n    float altitudeStart = length(start) - innerRadius;\\n    if (altitudeStart < 0.0) {\\n      altitudeStart = -altitudeStart;\\n      altitudeEnd = -altitudeEnd;\\n    }\\n    float lightAngle = dot(-lightingMainDirection, end) / endLength;\\n    if (near > far)\\n    {\\n      if (altitudeStart < altitudeEnd)\\n      {\\n        end = cameraPosition + worldSpaceRay * rayStart;\\n        start = cameraPosition + worldSpaceRay * rayEnd;\\n        worldSpaceRay *= -1.0;\\n        float tmp = altitudeStart;\\n        altitudeStart = altitudeEnd;\\n        altitudeEnd = tmp;\\n      }\\n      else if (altitudeStart == altitudeEnd)\\n      {\\n        altitudeStart += 1.0;\\n      }\\n    }\\n    if (altitudeStart > outerRadius - innerRadius)\\n    {\\n      scatterDistance = innerRadius - outerRadius;\\n    } else\\n    {\\n      scatterDistance = altitudeEnd - altitudeStart;\\n    }\\n#endif\\n    vec2 opticalStartDepth = exp(scatterDistance * oneOverScaleDepth);\\n    float rayLength = rayEnd - rayStart;\\n    float sampleLength = rayLength / samples;\\n    float scaledLength = sampleLength * shellScale;\\n    vec3 sampleRay = worldSpaceRay * sampleLength;\\n    vec3 samplePoint = start + sampleRay * 0.5;\\n#ifdef HAZE\\n    float cameraAngle = dot(-worldSpaceRay, end) / length(end);\\n    float scaleCameraAngle = scale(cameraAngle);\\n    vec2 cameraOffset = scaleCameraAngle * opticalStartDepth;\\n    float scaledValues = scale(lightAngle) + scaleCameraAngle;\\n    vec2 scaledValuesDepth = scaledValues * shellDepth;\\n#else\\n    float cameraAngle = dot(worldSpaceRay, start / length(start));\\n    float angleMultiplier = cameraAngle > 0.0 ? cameraAngle : 0.0;\\n    float scaleCameraAngle = scale(cameraAngle);\\n    vec2 cameraOffset = scaleCameraAngle * opticalStartDepth * shellDepth;\\n#endif\\n    vec3 frontColor = vec3(0.0);\\n    vec3 frontColorBlue = vec3(0.0);\\n    vec3 attenuate = vec3(0.0);\\n    vec3 attenuateBlue = vec3(0.0);\\n    for(int i=0; i<maxSamples; i++) {\\n      float height = length(samplePoint);\\n      float altitude = abs(height - innerRadius);\\n      vec2 depth = exp(-altitude * scaleOverScaleDepth);\\n#ifdef HAZE\\n      vec2 scatter = depth * scaledValuesDepth - cameraOffset;\\n#else\\n      float lightAngle = dot(-lightingMainDirection, samplePoint) / height;\\n      float cameraAngle = dot(worldSpaceRay, samplePoint) / height;\\n      float tmpScaledValues = scale(lightAngle) - scale(cameraAngle);\\n      vec2 scatter = cameraOffset + tmpScaledValues * depth * shellDepth;\\n#endif\\n      attenuate = exp(-scatter.x * invWavelengthScaled);\\n      attenuateBlue = exp(-scatter.y * invWavelengthScaled);\\n      frontColor += attenuate * depth.x;\\n      frontColorBlue += attenuateBlue * depth.y;\\n      samplePoint += sampleRay;\\n    }\\n    float LdotR = clamp(dot(-lightingMainDirection, -worldSpaceRay ),-0.9999999,1.0);\\n    float LdotRSq = LdotR * LdotR + 1.0;\\n#ifdef HAZE\\n    vec3 colorCoefficients = (scaledLength * 0.75 * LdotRSq) * (krESun * invWavelength + kmESun );\\n    vec3 color = colorCoefficients * frontColor;\\n    vec3 colorBlue = colorCoefficients * frontColorBlue;\\n#else\\n    vec3 rayleighCoefficients = (scaledLength * 0.75 * LdotRSq * krESun) * invWavelength;\\n    float mieCoefficients = scaledLength * kmESun * miePhaseCoefficients * LdotRSq / pow(1.0 + gSq - 2.0 * g * LdotR, 1.5);\\n    vec3 color = rayleighCoefficients * frontColor + mieCoefficients * frontColor;\\n    vec3 colorBlue = rayleighCoefficients * frontColorBlue + mieCoefficients * frontColorBlue;\\n#endif\\n    vec3 ldrBlue = expTM(colorBlue, 2.0 * exposure);\\n    vec3 ldrRed = expTM(color, exposure);\\n    vec3 LDR = mix(ldrBlue, ldrRed, 0.2);\\n#ifdef HAZE\\n    LDR *= (1.0 - cameraAngle);\\n    vec3 hsv = rgb2hsv(LDR);\\n    hsv.y = clamp(hsv.y * 1.5, 0.0, 1.0);\\n    LDR = hsv2rgb(hsv);\\n    vec3 finalColor = LDR;\\n#else\\n    vec3 ldrReinhard = reinhardTM(color, exposure);\\n    LDR += angleMultiplier * ldrReinhard;\\n    float side = (rayEnd + rayStart) * 0.5;\\n    float atmoHeight = sqrt(cameraHeightSq - side * side);\\n    float h2 = clamp(1.0 - ( atmoHeight - lowerAlphaBlendBound ) / ( outerRadius - lowerAlphaBlendBound ), 0.0, 1.0);\\n    vec3 finalColor = LDR * h2;\\n    vec3 hsv = rgb2hsv(finalColor);\\n    hsv.y = clamp(hsv.y * 1.5, 0.0, 1.0);\\n    finalColor = hsv2rgb(hsv);\\n#endif\\n#ifndef HAZE\\n    float atmosStrength = clamp((length(ldrRed) - 0.05) * 1.05, 0.0, 1.0);\\n    gl_FragColor = vec4(finalColor, atmosStrength * clamp(1.0 - ( atmoHeight - innerRadius ) / (outerRadius - innerRadius), 0.0, 1.0));\\n    if (surfaceBlend > 0.0) {\\n      gl_FragColor = mix(gl_FragColor, surfaceColor, surfaceBlend);\\n    }\\n#else\\n    gl_FragColor = vec4(finalColor, 1.0) * altitudeAlpha;\\n#endif\\n  } else {\\n    gl_FragColor = vec4(0.0);\\n  }\\n}\",\"realisticAtmosphere.vert\":\"#include <util/vsPrecision.glsl>\\nuniform vec2 halfSizeNearPlane;\\nuniform vec3 cameraUp;\\nuniform vec3 cameraRight;\\nuniform vec3 cameraDir;\\nuniform vec2 cameraCenterOffset;\\nattribute vec3 position;\\nattribute vec2 uv0;\\nvarying vec3 worldRay;\\nvarying vec2 vtc;\\n#ifdef HAZE\\nvarying vec3 eyeDir;\\n#endif\\nvoid main(void) {\\n  vec3 v3Pos = position;\\n  vtc = uv0;\\n  vec2 rayvtc = uv0 - cameraCenterOffset;\\n#ifdef HAZE\\n  eyeDir = vec3((2.0 * halfSizeNearPlane * rayvtc) - halfSizeNearPlane, -1.0);\\n#else\\n  vec3 eyeDir = vec3((2.0 * halfSizeNearPlane * rayvtc) - halfSizeNearPlane, -1.0);\\n#endif\\n  worldRay = eyeDir.z * cameraDir + eyeDir.y * cameraUp + eyeDir.x * cameraRight;\\n  gl_Position = vec4(v3Pos, 1.0);\\n}\",\"simpleAtmosphere.frag\":\"#include <util/fsPrecision.glsl>\\nuniform sampler2D tex;\\nvarying vec2 vtc;\\nvarying float falloff;\\n#ifndef PANORAMIC\\nuniform float altitudeFade;\\nvarying float innerFactor;\\n#endif\\nvoid main() {\\n  vec4 texColor = texture2D(tex, vtc);\\n#ifdef PANORAMIC\\n  gl_FragColor = texColor * falloff;\\n#else\\n  vec4 atmosphereColor = texColor * falloff;\\n  vec4 innerColor = vec4(texColor.rgb * falloff, 1.0 - altitudeFade);\\n  gl_FragColor = mix(atmosphereColor, innerColor, smoothstep(0.0, 1.0, innerFactor));\\n#endif\\n}\",\"simpleAtmosphere.vert\":\"#include <util/vsPrecision.glsl>\\n#include <util/transform.glsl>\\nuniform mat4 proj;\\nuniform mat4 view;\\n#ifndef PANORAMIC\\nconst float TWICEPI = 2.0*3.14159265;\\nconst float ATMOSPHERE_RIM_SEGMENTS = 128.0;\\nuniform vec3 silCircleCenter;\\nuniform vec3 silCircleV1;\\nuniform vec3 silCircleV2;\\nuniform vec2 texV;\\nuniform float innerScale;\\nvarying float innerFactor;\\n#endif\\nuniform vec3 lightingMainDirection;\\nattribute vec3 position;\\nvarying vec2 vtc;\\nvarying float falloff;\\nvoid main(void) {\\n  vec3 lightDirection = -lightingMainDirection;\\n#ifdef PANORAMIC\\n  vec3 pos = position;\\n  float ndotl = lightDirection.z;\\n  vtc = vec2(0.0, position.z+0.05);\\n#else\\n  innerFactor = clamp(-position.z, 0.0, 1.0);\\n  float scale = position.y * (1.0 + innerFactor * innerScale);\\n  float phi = position.x * (TWICEPI / ATMOSPHERE_RIM_SEGMENTS) + 1.0;\\n  vec3 pos =  (silCircleCenter + sin(phi) * silCircleV1 + cos(phi) * silCircleV2) * scale;\\n  float ndotl = dot(normalize(position.y > 0.0 ? pos: silCircleCenter), lightDirection);\\n  vtc.x = position.x / ATMOSPHERE_RIM_SEGMENTS;\\n  vtc.y = texV.x * (1.0 - position.z) + texV.y * position.z;\\n#endif\\n  falloff = max(0.0, smoothstep(-1.0, 0.8, 2.0 * ndotl));\\n  gl_Position = transformPosition(proj, view, pos);\\n  gl_Position.z = gl_Position.w;\\n}\",\"simpleAtmosphereFade.frag\":\"#include <util/fsPrecision.glsl>\\nvarying vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\",\"simpleAtmosphereFade.vert\":\"#include <util/vsPrecision.glsl>\\nattribute vec2 position;\\nuniform vec3 lightingMainDirection;\\nuniform vec3 cameraPosition;\\nuniform float undergroundFadeAlpha;\\nvarying vec4 color;\\nvoid main(void) {\\n  float ndotl = dot(normalize(cameraPosition), -lightingMainDirection);\\n  float lighting = max(0.0, smoothstep(-1.0, 0.8, 2.0 * ndotl));\\n  color = vec4(vec3(lighting), undergroundFadeAlpha);\\n  gl_Position = vec4(position.xy, 1.0, 1.0);\\n}\",\"stars.frag\":\"#include <util/fsPrecision.glsl>\\nvarying vec4 vcolor;\\nvarying float vsize;\\nvoid main() {\\n  float cap = 0.7;\\n  float scale = 1.0/cap;\\n  float helper = clamp(length(abs(gl_PointCoord-vec2(0.5))),0.0,cap);\\n  float alpha = clamp((cap-helper)*scale,0.0,1.0);\\n  float intensity = alpha*alpha*alpha;\\n  if (vsize < 3.0)\\n    intensity *= 0.5;\\n  gl_FragColor = vec4(1.0,1.0,1.0,intensity);\\n  gl_FragColor.xyz *= vcolor.xyz;\\n}\",\"stars.vert\":\"#include <util/vsPrecision.glsl>\\n#include <util/alignPixel.glsl>\\nuniform mat4 proj;\\nuniform mat4 view;\\nuniform mat4 model;\\nuniform vec4 viewport;\\nuniform float pixelRatio;\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute float size;\\nvarying vec4 vcolor;\\nvarying float vsize;\\nvoid main(void) {\\n  vec4 posProj = proj * view * model*vec4(position*1.0e25,1.0);\\n  gl_Position = alignToPixelCenter(posProj, viewport.zw);\\n  gl_Position.z = gl_Position.w;\\n  vcolor = color / 1.2;\\n  vsize = size * 5.0 * pixelRatio;\\n  gl_PointSize = vsize;\\n}\"},materials:{hud:{\"colorPass.frag\":\"#include <materials/hud/hudHeader.glsl>\\nvoid main() {\\n#include <materials/hud/hudMain.glsl>\\n}\",\"highlightPass.frag\":\"#include <materials/hud/hudHeader.glsl>\\n#include <util/highlight.glsl>\\nuniform sampler2D depthTex;\\nuniform vec4 highlightViewportPixelSz;\\nvoid main() {\\n#include <materials/hud/hudMain.glsl>\\n#ifdef BINARY_HIGHLIGHT_OCCLUSION\\n  if (voccluded == 1.0) {\\n    gl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);\\n  } else {\\n    gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);\\n  }\\n#else\\n  gl_FragColor = highlightData(gl_FragCoord, depthTex, highlightViewportPixelSz);\\n#endif\\n}\",\"hud.vert\":\"#include <util/vsPrecision.glsl>\\n#include <util/alignPixel.glsl>\\n#include <util/hud.glsl>\\n#include <util/visualVariables.glsl>\\n#include <util/slice.glsl>\\nuniform vec2 screenOffset;\\nuniform vec2 anchorPos;\\nuniform vec2 textureCoordinateScaleFactor;\\n#ifdef SCREEN_SIZE_PERSPECTIVE\\nuniform vec4 screenSizePerspective;\\n#endif\\n#ifdef DEBUG_DRAW_BORDER\\nvarying vec4 debugBorderCoords;\\n#endif\\nattribute vec2 uv0;\\nattribute vec4 color;\\nattribute vec2 size;\\nattribute vec4 auxpos2;\\nvarying vec4 vcolor;\\nvarying vec2 vtc;\\nvarying vec2 vsize;\\n#ifdef BINARY_HIGHLIGHT_OCCLUSION\\nvarying float voccluded;\\n#endif\\nvoid main(void) {\\n  ProjectHUDAux projectAux;\\n  vec4 posProj = projectPositionHUD(projectAux);\\n  if (rejectBySlice(projectAux.posModel)) {\\n    gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\\n    return;\\n  }\\n  vec2 inputSize;\\n#ifdef SCREEN_SIZE_PERSPECTIVE\\n  inputSize = screenSizePerspectiveScaleVec2(size, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);\\n  vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);\\n#else\\n  inputSize = size;\\n  vec2 screenOffsetScaled = screenOffset;\\n#endif\\n#ifdef VV_SIZE\\n  inputSize *= vvGetScale(auxpos2).xx;\\n#endif\\n  vec2 combinedSize = inputSize * pixelRatio;\\n  vec4 quadOffset = vec4(0.0);\\n#if defined(OCCL_TEST) || defined(BINARY_HIGHLIGHT_OCCLUSION)\\n  bool visible = testVisibilityHUD(posProj);\\n#endif\\n#ifdef BINARY_HIGHLIGHT_OCCLUSION\\nvoccluded = visible ? 0.0 : 1.0;\\n#endif\\n#ifdef OCCL_TEST\\n  if (visible) {\\n#endif\\n    vec2 uv01 = floor(uv0);\\n    vec2 uv = uv0 - uv01;\\n    quadOffset.xy = ((uv01 - anchorPos) * 2.0 * combinedSize + screenOffsetScaled) / viewport.zw * posProj.w;\\n#ifdef SIGNED_DISTANCE_FIELD\\n    posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;\\n#else\\n    posProj += quadOffset;\\n    if (inputSize.x == size.x) {\\n      posProj = alignToPixelOrigin(posProj, viewport.zw);\\n    }\\n#endif\\n    gl_Position = posProj;\\n    vtc = uv * textureCoordinateScaleFactor;\\n#ifdef DEBUG_DRAW_BORDER\\n    debugBorderCoords = vec4(uv01, 1.5 / combinedSize);\\n#endif\\n    vsize = inputSize;\\n#ifdef OCCL_TEST\\n  } else {\\n    vtc = vec2(.0);\\n#ifdef DEBUG_DRAW_BORDER\\n    debugBorderCoords = vec4(0.5, 0.5, 1.5 / combinedSize);\\n#endif\\n  }\\n#endif\\n  gl_Position = posProj;\\n#ifdef VV_COLOR\\n  vcolor = vvGetColor(auxpos2, vvColorValues, vvColorColors);\\n#else\\n  vcolor = color / 255.0;\\n#endif\\n}\",\"hudHeader.glsl\":\"#include <util/enableExtensions.glsl>\\n#include <util/fsPrecision.glsl>\\n#include <util/encoding.glsl>\\n#include <util/color.glsl>\\nuniform sampler2D tex;\\nuniform vec4 overrideColor;\\nuniform vec4 outlineColor;\\nuniform float outlineSize;\\nvarying vec4 vcolor;\\nvarying vec2 vtc;\\nvarying vec2 vsize;\\n#ifdef BINARY_HIGHLIGHT_OCCLUSION\\nvarying float voccluded;\\n#endif\\n#ifdef DEBUG_DRAW_BORDER\\nvarying vec4 debugBorderCoords;\\n#endif\",\"hudMain.glsl\":\"#ifdef SIGNED_DISTANCE_FIELD\\n  vec4 color = vec4(0.0, 0.0, 0.0, 0.0);\\n  vec4 fillPixelColor = overrideColor * vcolor;\\n  const float txSize = 128.0;\\n  const float texelSize = 1.0 / txSize;\\n  vec2 scaleFactor = (vsize - txSize) * texelSize;\\n  vec2 samplePos = vtc + (vec2(1.0, -1.0) * texelSize) * scaleFactor;\\n  float d = rgba2float(texture2D(tex, samplePos)) - 0.5;\\n  float dist = d * vsize.x;\\n  fillPixelColor.a *= clamp(0.5 - dist, 0.0, 1.0);\\n  if (outlineSize > 0.25) {\\n    vec4 outlinePixelColor = outlineColor;\\n    float clampedOutlineSize = min(outlineSize, 0.5*vsize.x);\\n    outlinePixelColor.a *= clamp(0.5 - (abs(dist) - 0.5*clampedOutlineSize), 0.0, 1.0);\\n    float compositeAlpha = outlinePixelColor.a + fillPixelColor.a * (1.0 - outlinePixelColor.a);\\n    vec3 compositeColor = vec3(outlinePixelColor) * outlinePixelColor.a +\\n      vec3(fillPixelColor) * fillPixelColor.a * (1.0 - outlinePixelColor.a);\\n    gl_FragColor = vec4(compositeColor, compositeAlpha);\\n  }\\n  else {\\n    gl_FragColor = premultiplyAlpha(fillPixelColor);\\n  }\\n#else\\n  gl_FragColor = texture2D(tex, vtc, -0.5) * premultiplyAlpha(overrideColor * vcolor);\\n#endif\\n#ifdef DEBUG_DRAW_BORDER\\n   float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));\\n   gl_FragColor = mix(gl_FragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder);\\n#endif\\n  if (gl_FragColor.a < 0.1) {\\n    discard;\\n  }\",\"occlusionTest.frag\":\"#include <util/fsPrecision.glsl>\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\",\"occlusionTest.vert\":\"#include <util/vsPrecision.glsl>\\n#include <util/alignPixel.glsl>\\n#include <util/hud.glsl>\\n#include <util/slice.glsl>\\nvoid main(void) {\\n  vec4 posProjCenter;\\n  if (dot(position, position) > 0.0) {\\n    ProjectHUDAux projectAux;\\n    vec4 posProj = projectPositionHUD(projectAux);\\n    posProjCenter = alignToPixelCenter(posProj, viewport.zw);\\n    vec3 vpos = projectAux.posModel;\\n    if (rejectBySlice(vpos)) {\\n      posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);\\n    }\\n  }\\n  else {\\n    posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);\\n  }\\n  gl_Position = posProjCenter;\\n  gl_PointSize = 1.0;\\n}\"},lineCallout:{\"lineCallout.frag\":\"#include <util/fsPrecision.glsl>\\nuniform vec4 color;\\nuniform vec4 borderColor;\\nvarying vec4 coverageSampling;\\nvarying vec2 lineSizes;\\nvoid main() {\\n  vec2 coverage = min(1.0 - clamp(abs(coverageSampling.xy) - coverageSampling.zw, 0.0, 1.0), lineSizes);\\n  float borderAlpha = color.a * borderColor.a * coverage.y;\\n  float colorAlpha = color.a * coverage.x;\\n  float finalAlpha = mix(borderAlpha, 1.0, colorAlpha);\\n#ifdef DEPTH_HUD\\n  if (finalAlpha < 0.01) {\\n    discard;\\n  }\\n#else\\n  vec3 finalRgb = mix(borderColor.rgb * borderAlpha, color.rgb, colorAlpha);\\n  gl_FragColor = vec4(finalRgb, finalAlpha);\\n#endif\\n}\",\"lineCallout.vert\":\"#include <util/vsPrecision.glsl>\\n#include <util/alignPixel.glsl>\\n#include <util/hud.glsl>\\n#include <util/slice.glsl>\\nattribute vec2 uv0;\\nuniform float lineSize;\\nuniform vec2 pixelToNDC;\\nuniform float borderSize;\\nuniform vec2 screenOffset;\\nvarying vec4 coverageSampling;\\nvarying vec2 lineSizes;\\nvoid main(void) {\\n  ProjectHUDAux projectAux;\\n  vec4 endPoint = projectPositionHUD(projectAux);\\n  vec3 vpos = projectAux.posModel;\\n  if (rejectBySlice(vpos)) {\\n    gl_Position = vec4(1e38, 1e38, 1e38, 1.0);\\n    return;\\n  }\\n#ifdef OCCL_TEST\\n  if (!testVisibilityHUD(endPoint)) {\\n    gl_Position = vec4(1e38, 1e38, 1e38, 1.0);\\n    return;\\n  }\\n#endif\\n#ifdef SCREEN_SIZE_PERSPECTIVE\\n  vec4 perspectiveFactor = screenSizePerspectiveScaleFactor(projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);\\n  vec2 screenOffsetScaled = applyScreenSizePerspectiveScaleFactorVec2(screenOffset, perspectiveFactor);\\n#else\\n  vec2 screenOffsetScaled = screenOffset;\\n#endif\\n  vec3 posView = (view * (model * vec4(position, 1.0))).xyz;\\n  applyHUDViewDependentPolygonOffset(auxpos1.w, projectAux.absCosAngle, posView);\\n  vec4 startPoint = proj * vec4(posView, 1.0);\\n  vec2 screenOffsetNorm = screenOffsetScaled * 2.0 / viewport.zw;\\n  startPoint.xy += screenOffsetNorm * startPoint.w;\\n  endPoint.xy += screenOffsetNorm * endPoint.w;\\n  vec4 startAligned = alignToPixelOrigin(startPoint, viewport.zw);\\n  vec4 endAligned = alignToPixelOrigin(endPoint, viewport.zw);\\n#ifdef DEPTH_HUD\\n#ifdef DEPTH_HUD_ALIGN_START\\n  endAligned = vec4(endAligned.xy / endAligned.w * startAligned.w, startAligned.zw);\\n#else\\n  startAligned = vec4(startAligned.xy / startAligned.w * endAligned.w, endAligned.zw);\\n#endif\\n#endif\\n  vec4 projectedPosition = mix(startAligned, endAligned, uv0.y);\\n  vec2 screenSpaceDirection = normalize(endAligned.xy / endAligned.w - startAligned.xy / startAligned.w);\\n  vec2 perpendicularScreenSpaceDirection = vec2(screenSpaceDirection.y, -screenSpaceDirection.x);\\n#ifdef SCREEN_SIZE_PERSPECTIVE\\n  float lineSizeScaled = applyScreenSizePerspectiveScaleFactorFloat(lineSize, perspectiveFactor);\\n  float borderSizeScaled = applyScreenSizePerspectiveScaleFactorFloat(borderSize, perspectiveFactor);\\n#else\\n  float lineSizeScaled = lineSize;\\n  float borderSizeScaled = borderSize;\\n#endif\\n  float halfPixelSize = lineSizeScaled * 0.5;\\n  float halfWholePixelSize = floor(lineSizeScaled) * 0.5;\\n  float halfPixelSizeInt = floor(halfWholePixelSize);\\n  float subpixelOffset = -fract(lineSizeScaled) * float(halfWholePixelSize > 0.0);\\n  float pixelOffset = -halfPixelSizeInt + subpixelOffset;\\n  float padding = 1.0 + borderSizeScaled;\\n  vec2 ndcOffset = (pixelOffset - padding + uv0.x * (lineSizeScaled + padding + padding)) * pixelToNDC;\\n  projectedPosition.xy += perpendicularScreenSpaceDirection * ndcOffset * projectedPosition.w;\\n  float edgeDirection = (uv0.x * 2.0 - 1.0);\\n  float halfBorderSize = 0.5 * borderSizeScaled;\\n  float halfPixelSizeAndBorder = halfPixelSize + halfBorderSize;\\n  float outerEdgeCoverageSampler = edgeDirection * (halfPixelSizeAndBorder + halfBorderSize + 1.0);\\n  float isOneSided = float(lineSizeScaled < 2.0 && borderSize < 2.0);\\n  coverageSampling = vec4(\\n    outerEdgeCoverageSampler,\\n    outerEdgeCoverageSampler - halfPixelSizeAndBorder * isOneSided,\\n    halfPixelSize - 0.5,\\n    halfBorderSize - 0.5 + halfPixelSizeAndBorder * (1.0 - isOneSided)\\n  );\\n  lineSizes = vec2(lineSizeScaled, borderSizeScaled);\\n  gl_Position = projectedPosition;\\n}\"},measurementArrow:{\"measurementArrow.frag\":\"#include <util/fsPrecision.glsl>\\nuniform float outlineSize;\\nuniform vec4 outlineColor;\\nuniform float stripeLength;\\nuniform vec4 stripeEvenColor;\\nuniform vec4 stripeOddColor;\\nvarying vec2 vtc;\\nvarying float vlength;\\nvarying float vradius;\\n#define INV_SQRT2 (1.0 / sqrt(2.0))\\nvec4 arrowColor(vec2 tc, float len) {\\n  float d = INV_SQRT2 * (tc.x - abs(tc.y));\\n  d = min(d, INV_SQRT2 * (len - tc.x - abs(tc.y)));\\n  d = min(d, 1.0 - abs(tc.y));\\n  if (d < 0.0) {\\n    return vec4(0.0);\\n  } else if (d < outlineSize) {\\n    return outlineColor;\\n  } else {\\n    return fract(0.5 / stripeLength * tc.x * vradius) >= 0.5 ? stripeOddColor : stripeEvenColor;\\n  }\\n}\\nvoid main(void) {\\n  vec2 ntc = vec2(vtc.x / vradius, vtc.y);\\n  vec4 color = arrowColor(ntc, vlength / vradius);\\n  if (color.a == 0.0) {\\n    discard;\\n  }\\n  gl_FragColor = color;\\n}\",\"measurementArrow.vert\":\"#include <util/vsPrecision.glsl>\\nuniform mat4 proj;\\nuniform mat4 view;\\nuniform mat4 model;\\nuniform float width;\\nattribute vec3 position;\\nattribute vec3 normal;\\nattribute vec2 uv0;\\nattribute float auxpos1;\\nvarying vec2 vtc;\\nvarying float vlength;\\nvarying float vradius;\\nvoid main(void) {\\n  vec3 bitangent = normal;\\n  vtc = uv0;\\n  vlength = auxpos1;\\n  vradius = 0.5 * width;\\n  vec4 pos = view * vec4((model * vec4(position + vradius * bitangent * uv0.y, 1.0)).xyz, 1.0);\\n  gl_Position = proj * pos;\\n}\"},slicePlane:{\"slicePlane.frag\":\"#include <util/enableExtensions.glsl>\\n#include <util/fsPrecision.glsl>\\nuniform vec4 backgroundColor;\\nuniform vec4 gridColor;\\nuniform float ratio;\\nuniform float gridWidth;\\nvarying vec2 vUV;\\nvoid main() {\\n  const float LINE_WIDTH = 1.0;\\n  vec2 uvScaled = vUV * gridWidth;\\n  vec2 gridUV = (fract(uvScaled + 0.5) - 0.5) / (LINE_WIDTH * fwidth(uvScaled));\\n  vec2 grid = (1.0 - step(0.5, gridUV)) * step(-0.5, gridUV);\\n  grid.x *= step(0.5, uvScaled.x) * step(uvScaled.x, gridWidth - 0.5);\\n  grid.y *= step(0.5, uvScaled.y) * step(uvScaled.y, gridWidth - 0.5);\\n  float gridFade = max(grid.x, grid.y);\\n  float gridAlpha = gridColor.a * gridFade;\\n  gl_FragColor =\\n    vec4(backgroundColor.rgb * backgroundColor.a, backgroundColor.a) * (1.0 - gridAlpha) +\\n    vec4(gridColor.rgb, 1.0) * gridAlpha;\\n}\",\"slicePlane.vert\":\"#include <util/vsPrecision.glsl>\\nuniform mat4 proj;\\nuniform mat4 view;\\nuniform mat4 model;\\nattribute vec3 position;\\nattribute vec2 uv0;\\nvarying vec2 vUV;\\nvoid main(void) {\\n  vUV = uv0;\\n  gl_Position = proj * view * vec4((model * vec4(position, 1.0)).xyz, 1.0);\\n}\"}},pointRenderer:{\"pointRenderer.frag\":\"#include <util/fsPrecision.glsl>\\n#include <util/encoding.glsl>\\n#ifdef HIGHLIGHT_PASS\\n#include <util/highlight.glsl>\\nuniform sampler2D depthTex;\\nuniform vec4 highlightViewportPixelSz;\\n#endif\\n#ifdef DEPTH_PASS\\nvarying float depth;\\n#elif defined(HIGHLIGHT_PASS)\\n#else\\nvarying vec3 vColor;\\n#endif\\nvoid main(void) {\\n  vec2 vOffset = gl_PointCoord - vec2(0.5, 0.5);\\n  float r2 = dot(vOffset, vOffset);\\n  if (r2 > 0.25) {\\n    discard;\\n  }\\n#ifdef DEPTH_PASS\\n  gl_FragColor = float2rgba(depth);\\n#elif defined(HIGHLIGHT_PASS)\\n  gl_FragColor = highlightData(gl_FragCoord, depthTex, highlightViewportPixelSz);\\n#else\\n  gl_FragColor = vec4(vColor, 1.0);\\n#endif\\n}\",\"pointRenderer.vert\":\"#include <util/slice.glsl>\\n#include <util/vsPrecision.glsl>\\nattribute vec3 aPosition;\\nattribute vec3 aColor;\\nuniform mat4 uModelViewMatrix;\\nuniform mat4 uProjectionMatrix;\\nuniform vec2 uScreenMinMaxSize;\\nuniform vec2 uPointScale;\\nuniform vec3 uClipMin;\\nuniform vec3 uClipMax;\\n#ifdef DEPTH_PASS\\nuniform vec2 nearFar;\\nvarying float depth;\\n#else\\nvarying vec3 vColor;\\n#endif\\nvoid main(void) {\\n  if (aPosition.x < uClipMin.x || aPosition.y < uClipMin.y || aPosition.z < uClipMin.z ||\\n      aPosition.x > uClipMax.x || aPosition.y > uClipMax.y || aPosition.z > uClipMax.z) {\\n    gl_Position = vec4(0.0,0.0,0.0,2.0);\\n    gl_PointSize = 0.0;\\n    return;\\n  }\\n  if (rejectBySlice(aPosition)) {\\n    gl_Position = vec4(0.0,0.0,0.0,2.0);\\n    gl_PointSize = 0.0;\\n    return;\\n  }\\n  vec4 camera = uModelViewMatrix * vec4(aPosition, 1.0);\\n  float pointSize = uPointScale.x;\\n  vec4 position = uProjectionMatrix * camera;\\n#ifdef DRAW_SCREEN_SIZE\\n    float clampedScreenSize = pointSize;\\n#else\\n    float pointRadius = 0.5 * pointSize;\\n    vec4 cameraOffset = camera + vec4(0.0, pointRadius, 0.0, 0.0);\\n    vec4 positionOffset = uProjectionMatrix * cameraOffset;\\n    float radius = abs(positionOffset.y - position.y);\\n    float viewHeight = uPointScale.y;\\n    float screenPointSize = (radius / position.w) * viewHeight;\\n    float clampedScreenSize = clamp(screenPointSize, uScreenMinMaxSize.x, uScreenMinMaxSize.y);\\n    camera.xyz -= normalize(camera.xyz) * pointRadius * clampedScreenSize / screenPointSize;\\n    position = uProjectionMatrix * camera;\\n#endif\\n  gl_PointSize = clampedScreenSize;\\n  gl_Position = position;\\n#ifdef DEPTH_PASS\\n  depth = (-camera.z - nearFar[0]) / (nearFar[1] - nearFar[0]);\\n#else\\n  vColor = aColor;\\n#endif\\n}\"},renderer:{highlight:{\"apply.frag\":\"#include <util/fsPrecision.glsl>\\nuniform sampler2D tex;\\nuniform sampler2D origin;\\nuniform vec4 color;\\nuniform vec4 haloColor;\\nuniform float outlineSize;\\nuniform float blurSize;\\nuniform vec4 opacities;\\nvarying vec2 uv;\\nvoid main() {\\n  #if defined(GRID_OPTIMIZATION) && defined(GRID_DEBUG)\\n    gl_FragColor = vec4(uv, 0.0, 1.0);\\n  #else\\n    vec4 blurredHighlightValue = texture2D(tex, uv);\\n    float highlightIntensity = blurredHighlightValue.a;\\n    if (highlightIntensity == 0.0) {\\n      discard;\\n    }\\n    vec4 origin_color = texture2D(origin, uv);\\n    float outlineIntensity;\\n    float fillIntensity;\\n    if (blurredHighlightValue.g > blurredHighlightValue.b) {\\n      outlineIntensity = haloColor.w * opacities[1];\\n      fillIntensity = color.w * opacities[3];\\n    }\\n    else {\\n      outlineIntensity = haloColor.w * opacities[0];\\n      fillIntensity = color.w * opacities[2];\\n    }\\n    float inner = 1.0 - outlineSize / 9.0;\\n    float outer = 1.0 - (outlineSize + blurSize) / 9.0;\\n    float outlineFactor = smoothstep(outer, inner, highlightIntensity);\\n    float fillFactor = any(notEqual(origin_color, vec4(0.0, 0.0, 0.0, 0.0))) ? 1.0 : 0.0;\\n    float intensity = outlineIntensity * outlineFactor * (1.0 - fillFactor) + fillIntensity * fillFactor;\\n    gl_FragColor = vec4(mix(haloColor.rgb, color.rgb, fillFactor), intensity);\\n  #endif\\n}\",\"apply.vert\":\"#include <util/vsPrecision.glsl>\\nattribute vec2 position;\\nvarying vec2 uv;\\n#ifdef GRID_OPTIMIZATION\\n  attribute vec2 uv0;\\n  uniform sampler2D coverageTex;\\n#endif\\nvoid main() {\\n  #ifdef GRID_OPTIMIZATION\\n    #ifdef GRID_DEBUG\\n      vec4 cov = texture2D(coverageTex, uv0);\\n      if (cov.r == 0.0 || cov.g == 1.0 || cov.b == 1.0) {\\n        gl_Position = vec4(0.0);\\n        return;\\n      }\\n      gl_Position = vec4(position, .0, 1.0);\\n      uv = uv0;\\n      return;\\n    #else\\n      vec4 cov = texture2D(coverageTex, uv0);\\n      if (cov.r == 0.0) {\\n        gl_Position = vec4(0.0);\\n        return;\\n      }\\n    #endif\\n  #endif\\n  gl_Position = vec4(position, .0, 1.0);\\n  uv = position.xy * .5 + vec2(.5);\\n}\",\n\"blur.frag\":\"#include <util/fsPrecision.glsl>\\nuniform sampler2D tex;\\n#ifdef GRID_OPTIMIZATION\\n  uniform vec2 blurSize;\\n  varying vec3 blurCoordinate;\\n#else\\n  varying vec2 blurCoordinates[GAUSSIAN_SAMPLES];\\n#endif\\nvoid main() {\\n  #ifdef GRID_OPTIMIZATION\\n    vec2 uv = blurCoordinate.xy;\\n    vec4 center = texture2D(tex, uv);\\n    if (blurCoordinate.z == 1.0) {\\n      gl_FragColor = center;\\n    }\\n    else {\\n      vec4 sum = vec4(0.0);\\n      #if GAUSSIAN_SAMPLES == 3\\n        sum += center * 0.204164;\\n        sum += texture2D(tex, uv + blurSize * 1.407333) * 0.304005;\\n        sum += texture2D(tex, uv - blurSize * 1.407333) * 0.304005;\\n      #elif GAUSSIAN_SAMPLES == 5\\n        sum += center * 0.204164;\\n        sum += texture2D(tex, uv + blurSize * 1.407333) * 0.304005;\\n        sum += texture2D(tex, uv - blurSize * 1.407333) * 0.304005;\\n        sum += texture2D(tex, uv + blurSize * 3.294215) * 0.093913;\\n        sum += texture2D(tex, uv - blurSize * 3.294215) * 0.093913;\\n      #elif GAUSSIAN_SAMPLES == 7\\n        sum += center * 0.204164;\\n        sum += texture2D(tex, uv + blurSize * 1.407333) * 0.304005;\\n        sum += texture2D(tex, uv - blurSize * 1.407333) * 0.304005;\\n        sum += texture2D(tex, uv + blurSize * 3.294215) * 0.093913;\\n        sum += texture2D(tex, uv - blurSize * 3.294215) * 0.093913;\\n        sum += texture2D(tex, uv + blurSize * 5.1) * 0.03;\\n        sum += texture2D(tex, uv - blurSize * 5.1) * 0.03;\\n      #elif GAUSSIAN_SAMPLES == 9\\n        sum += center * 0.154164;\\n        sum += texture2D(tex, uv + blurSize * 1.5) * 0.204005;\\n        sum += texture2D(tex, uv - blurSize * 1.5) * 0.204005;\\n        sum += texture2D(tex, uv + blurSize * 3.5) * 0.123913;\\n        sum += texture2D(tex, uv - blurSize * 3.5) * 0.123913;\\n        sum += texture2D(tex, uv + blurSize * 5.5) * 0.123913;\\n        sum += texture2D(tex, uv - blurSize * 5.5) * 0.123913;\\n        sum += texture2D(tex, uv + blurSize * 7.5) * 0.05;\\n        sum += texture2D(tex, uv - blurSize * 7.5) * 0.05;\\n      #endif\\n      gl_FragColor = sum;\\n    }\\n  #else\\n    vec4 sum = vec4(0.0);\\n    #if GAUSSIAN_SAMPLES == 3\\n      sum += texture2D(tex, blurCoordinates[0]) * 0.204164;\\n      sum += texture2D(tex, blurCoordinates[1]) * 0.304005;\\n      sum += texture2D(tex, blurCoordinates[2]) * 0.304005;\\n    #elif GAUSSIAN_SAMPLES == 5\\n      sum += texture2D(tex, blurCoordinates[0]) * 0.204164;\\n      sum += texture2D(tex, blurCoordinates[1]) * 0.304005;\\n      sum += texture2D(tex, blurCoordinates[2]) * 0.304005;\\n      sum += texture2D(tex, blurCoordinates[3]) * 0.093913;\\n      sum += texture2D(tex, blurCoordinates[4]) * 0.093913;\\n    #elif GAUSSIAN_SAMPLES == 7\\n      sum += texture2D(tex, blurCoordinates[0]) * 0.204164;\\n      sum += texture2D(tex, blurCoordinates[1]) * 0.304005;\\n      sum += texture2D(tex, blurCoordinates[2]) * 0.304005;\\n      sum += texture2D(tex, blurCoordinates[3]) * 0.093913;\\n      sum += texture2D(tex, blurCoordinates[4]) * 0.093913;\\n      sum += texture2D(tex, blurCoordinates[5]) * 0.03;\\n      sum += texture2D(tex, blurCoordinates[6]) * 0.03;\\n    #elif GAUSSIAN_SAMPLES == 9\\n      sum += texture2D(tex, blurCoordinates[0]) * 0.154164;\\n      sum += texture2D(tex, blurCoordinates[1]) * 0.204005;\\n      sum += texture2D(tex, blurCoordinates[2]) * 0.204005;\\n      sum += texture2D(tex, blurCoordinates[3]) * 0.123913;\\n      sum += texture2D(tex, blurCoordinates[4]) * 0.123913;\\n      sum += texture2D(tex, blurCoordinates[5]) * 0.09;\\n      sum += texture2D(tex, blurCoordinates[6]) * 0.09;\\n      sum += texture2D(tex, blurCoordinates[7]) * 0.05;\\n      sum += texture2D(tex, blurCoordinates[8]) * 0.05;\\n    #endif\\n    gl_FragColor = sum;\\n  #endif\\n}\",\"blur.vert\":\"#include <util/vsPrecision.glsl>\\nattribute vec2 position;\\nattribute vec2 uv0;\\n#ifdef GRID_OPTIMIZATION\\n  uniform sampler2D coverageTex;\\n  varying vec3 blurCoordinate;\\n#else\\n  uniform vec2 blurSize;\\n  varying vec2 blurCoordinates[GAUSSIAN_SAMPLES];\\n#endif\\nvoid main() {\\n  gl_Position = vec4(position, 0.0, 1.0);\\n  #ifdef GRID_OPTIMIZATION\\n    vec4 cov = texture2D(coverageTex, uv0);\\n    if (cov.r == 0.0) {\\n      gl_Position = vec4(0.0);\\n    }\\n    blurCoordinate = vec3(gl_Position.xy * .5 + vec2(.5), max(cov.g, cov.b));\\n  #else\\n    vec2 uv = position.xy * .5 + vec2(.5);\\n    #if GAUSSIAN_SAMPLES == 3\\n      blurCoordinates[0] = uv;\\n      blurCoordinates[1] = uv + blurSize * 1.407333;\\n      blurCoordinates[2] = uv - blurSize * 1.407333;\\n    #elif GAUSSIAN_SAMPLES == 5\\n      blurCoordinates[0] = uv;\\n      blurCoordinates[1] = uv + blurSize * 1.407333;\\n      blurCoordinates[2] = uv - blurSize * 1.407333;\\n      blurCoordinates[3] = uv + blurSize * 3.294215;\\n      blurCoordinates[4] = uv - blurSize * 3.294215;\\n    #elif GAUSSIAN_SAMPLES == 7\\n      blurCoordinates[0] = uv;\\n      blurCoordinates[1] = uv + blurSize * 1.407333;\\n      blurCoordinates[2] = uv - blurSize * 1.407333;\\n      blurCoordinates[3] = uv + blurSize * 3.294215;\\n      blurCoordinates[4] = uv - blurSize * 3.294215;\\n      blurCoordinates[5] = uv + blurSize * 5.1;\\n      blurCoordinates[6] = uv - blurSize * 5.1;\\n    #elif GAUSSIAN_SAMPLES == 9\\n      blurCoordinates[0] = uv;\\n      blurCoordinates[1] = uv + blurSize * 1.407333;\\n      blurCoordinates[2] = uv - blurSize * 1.407333;\\n      blurCoordinates[3] = uv + blurSize * 3.294215;\\n      blurCoordinates[4] = uv - blurSize * 3.294215;\\n      blurCoordinates[5] = uv + blurSize * 5.1;\\n      blurCoordinates[6] = uv - blurSize * 5.1;\\n      blurCoordinates[7] = uv + blurSize * 7.1;\\n      blurCoordinates[8] = uv - blurSize * 7.1;\\n    #endif\\n  #endif\\n}\",\"downsample.frag\":\"#include <util/fsPrecision.glsl>\\nuniform sampler2D tex;\\nuniform vec2 invFramebufferDim;\\nvoid main() {\\n  vec2 coord = gl_FragCoord.xy * invFramebufferDim;\\n  vec4 value = texture2D(tex, coord);\\n  float mx = floor(max(value.g, value.b));\\n  gl_FragColor = vec4(ceil(value.r), mx, mx, 1.0);\\n}\",\"downsample.vert\":\"#include <util/vsPrecision.glsl>\\nattribute vec2 position;\\nvoid main() {\\n  gl_Position = vec4(vec2(1.0) - position * 2.0, .0, 1.0);\\n}\"},laserLine:{\"laserLine.frag\":\"#include <util/enableExtensions.glsl>\\n#include <util/fsPrecision.glsl>\\n#include <util/depth.glsl>\\nuniform sampler2D depthMap;\\nuniform vec2 nearFar;\\nuniform vec4 projInfo;\\nuniform vec2 zScale;\\nuniform float maxPixelDistance;\\nuniform vec4 focusPlane;\\nuniform vec4 focusSphere;\\nuniform vec4 segmentPlane;\\nuniform vec3 segmentStart;\\nuniform vec3 segmentEnd;\\nuniform vec3 glowColor;\\nuniform float glowWidth;\\nuniform vec3 innerColor;\\nuniform float innerWidth;\\nuniform float globalAlpha;\\nvarying vec2 uv;\\n#define INFINITY 100000.0\\nvec3 reconstructPosition(vec2 fragCoord, float depth) {\\n  return vec3((fragCoord * projInfo.xy + projInfo.zw) * (zScale.x * depth + zScale.y), depth);\\n}\\nfloat planeDistancePixels(vec4 plane, vec3 pos) {\\n  float dist = dot(plane.xyz, pos) + plane.w;\\n  float width = fwidth(dist);\\n  dist /= min(width, maxPixelDistance);\\n  return abs(dist);\\n}\\nfloat sphereDistancePixels(vec4 sphere, vec3 pos) {\\n  float dist = distance(sphere.xyz, pos) - sphere.w;\\n  float width = fwidth(dist);\\n  dist /= min(width, maxPixelDistance);\\n  return abs(dist);\\n}\\nvec4 blendPremultiplied(vec4 source, vec4 dest) {\\n  float oneMinusSourceAlpha = 1.0 - source.a;\\n  return vec4(\\n    source.rgb + dest.rgb * oneMinusSourceAlpha,\\n    source.a + dest.a * oneMinusSourceAlpha\\n  );\\n}\\nvec4 premultipliedColor(vec3 rgb, float alpha) {\\n  return vec4(rgb * alpha, alpha);\\n}\\nvec4 laserLineProfile(float dist) {\\n  if (dist > glowWidth) {\\n    return vec4(0.0);\\n  }\\n  float innerAlpha = (1.0 - smoothstep(0.0, innerWidth, dist));\\n  float glowAlpha = pow(max(0.0, 1.0 - dist / glowWidth), 8.0);\\n  return blendPremultiplied(\\n    premultipliedColor(innerColor, innerAlpha),\\n    premultipliedColor(glowColor, glowAlpha)\\n  );\\n}\\nvoid main() {\\n  float depth = linearDepth(depthMap, uv, nearFar);\\n  if (-depth == nearFar[0]) {\\n    discard;\\n  }\\n  vec3 pos = reconstructPosition(gl_FragCoord.xy, depth);\\n  float ddepth = fwidth(depth);\\n  float depthDiscontinuityAlpha = 1.0 - smoothstep(0.0, 0.01, -ddepth / depth);\\n  vec3 normal = normalize(cross(dFdx(pos), dFdy(pos)));\\n  float focusPlaneDistance = planeDistancePixels(focusPlane, pos);\\n  float focusSphereDistance = sphereDistancePixels(focusSphere, pos);\\n  float segmentDistance = INFINITY;\\n  float segmentLength = length(segmentEnd - segmentStart);\\n  vec3 segmentDir = (segmentEnd - segmentStart) / segmentLength;\\n  float t = dot(segmentDir, pos - segmentStart);\\n  if (segmentLength > 0.0 && t >= 0.0 && t <= segmentLength) {\\n    segmentDistance = planeDistancePixels(segmentPlane, pos);\\n  }\\n  vec4 focusPlaneColor = laserLineProfile(focusPlaneDistance);\\n  vec4 focusSphereColor = laserLineProfile(focusSphereDistance);\\n  vec4 segmentColor = laserLineProfile(segmentDistance);\\n  float focusPlaneAlpha = 1.0 - smoothstep(0.995, 0.999, abs(dot(normal, focusPlane.xyz)));\\n  float focusSphereAlpha = 1.0 - smoothstep(0.995, 0.999, abs(dot(normal, normalize(pos - focusSphere.xyz))));\\n  float segmentAlpha = 1.0 - smoothstep(0.995, 0.999, abs(dot(normal, segmentPlane.xyz)));\\n  vec4 color = max(\\n    focusPlaneColor * focusPlaneAlpha,\\n    max(\\n      focusSphereColor * focusSphereAlpha,\\n      segmentColor * segmentAlpha\\n    )\\n  );\\n  gl_FragColor = color * globalAlpha * depthDiscontinuityAlpha;\\n}\"},offscreen:{\"composite.frag\":\"#include <util/fsPrecision.glsl>\\nuniform sampler2D tex;\\nvarying vec2 vtc;\\nvoid main() {\\n  gl_FragColor = texture2D(tex, vtc);\\n}\",\"compositeOccluded.frag\":\"#include <util/fsPrecision.glsl>\\nuniform sampler2D occludedColorMap;\\nuniform float opacity;\\nvarying vec2 vtc;\\nvoid main() {\\n  vec4 occludedColor = texture2D(occludedColorMap, vtc);\\n  gl_FragColor = occludedColor * opacity;\\n}\",\"compositeTransparentToHUDVisibility.frag\":\"#include <util/fsPrecision.glsl>\\nuniform sampler2D tex;\\nvarying vec2 vtc;\\nvoid main() {\\n  gl_FragColor = vec4(1.0 - texture2D(tex, vtc).a);\\n}\",\"offscreen.vert\":\"#include <util/vsPrecision.glsl>\\nattribute vec2 position;\\nvarying vec2 vtc;\\nvoid main(void) {\\n  gl_Position = vec4(position.xy, 0.0, 1.0);\\n  vtc = position.xy * 0.5 + 0.5;\\n}\"}},util:{\"alignPixel.glsl\":\"vec4 alignToPixelCenter(vec4 clipCoord, vec2 widthHeight) {\\n  vec2 xy = vec2(.500123) + .5 * clipCoord.xy / clipCoord.w;\\n  vec2 pixelSz = vec2(1.0) / widthHeight;\\n  vec2 ij = (floor(xy * widthHeight) + vec2(0.5)) * pixelSz;\\n  vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;\\n  return vec4(result, clipCoord.zw);\\n}\\nvec4 alignToPixelOrigin(vec4 clipCoord, vec2 widthHeight) {\\n  vec2 xy = vec2(.5) + .5 * clipCoord.xy / clipCoord.w;\\n  vec2 pixelSz = vec2(1.0) / widthHeight;\\n  vec2 ij = floor((xy + .5 * pixelSz) * widthHeight) * pixelSz;\\n  vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;\\n  return vec4(result, clipCoord.zw);\\n}\",\"color.glsl\":\"vec4 premultiplyAlpha(vec4 v) {\\n  return vec4(v.rgb * v.a, v.a);\\n}\\nvec3 rgb2hsv(vec3 c) {\\n  vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\n  vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\n  vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\n  float d = q.x - min(q.w, q.y);\\n  float e = 1.0e-10;\\n  return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(vec3 c) {\\n  vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\n  vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\n  return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nfloat rgb2v(vec3 c) {\\n  return max(c.x, max(c.y, c.z));\\n}\",\"depth.glsl\":\"#include <util/encoding.glsl>\\nfloat linearDepth(sampler2D depthTex, vec2 uv, vec2 nearFar) {\\n  return -(rgba2float(texture2D(depthTex, uv)) * (nearFar[1] - nearFar[0]) + nearFar[0]);\\n}\\nfloat calcFragDepth(const in float depth) {\\n  const float SLOPE_SCALE = 2.0;\\n  const float BIAS = 2.0 * .000015259;\\n  float m = max(abs(dFdx(depth)), abs(dFdy(depth)));\\n  float result = depth + SLOPE_SCALE * m + BIAS;\\n  return clamp(result, .0, .999999);\\n}\",\"doublePrecision.glsl\":\"#ifdef DOUBLE_PRECISION_REQUIRES_OBFUSCATION\\nvec3 dpPlusFrc(vec3 a, vec3 b) {\\n  return mix(a, a + b, vec3(notEqual(b, vec3(0))));\\n}\\nvec3 dpMinusFrc(vec3 a, vec3 b) {\\n  return mix(vec3(0), a - b, vec3(notEqual(a, b)));\\n}\\nvec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\\n  vec3 t1 = dpPlusFrc(hiA, hiB);\\n  vec3 e = dpMinusFrc(t1, hiA);\\n  vec3 t2 = dpMinusFrc(hiB, e) + dpMinusFrc(hiA, dpMinusFrc(t1, e)) + loA + loB;\\n  return t1 + t2;\\n}\\n#else\\nvec3 dpAdd(vec3 hiA, vec3 loA, vec3 hiB, vec3 loB) {\\n  vec3 t1 = hiA + hiB;\\n  vec3 e = t1 - hiA;\\n  vec3 t2 = ((hiB - e) + (hiA - (t1 - e))) + loA + loB;\\n  return t1 + t2;\\n}\\n#endif\",\"enableExtensions.glsl\":\"#define EXTENSIONS_ENABLED\\n#extension GL_OES_standard_derivatives : enable\\n#extension GL_EXT_shader_texture_lod : enable\",\"encoding.glsl\":\"const float MAX_RGBA_FLOAT =\\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;\\nconst vec4 fixedPointFactors = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);\\nvec4 float2rgba(const float value) {\\n  float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);\\n  vec4 fixedPointU8 = floor(fract(valueInValidDomain * fixedPointFactors) * 256.0);\\n  const float toU8AsFloat = 1.0 / 255.0;\\n  return fixedPointU8 * toU8AsFloat;\\n}\\nconst 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}\",\"fsPrecision.glsl\":\"#ifdef GL_FRAGMENT_PRECISION_HIGH\\nprecision highp float;\\nprecision highp sampler2D;\\n#else\\nprecision mediump float;\\nprecision mediump sampler2D;\\n#endif\",\"highlight.glsl\":\"vec4 highlightData(vec4 fragCoord, sampler2D depthTex, vec4 viewportPixelSize) {\\n  float sceneDepth = texture2D(depthTex, (fragCoord.xy - viewportPixelSize.xy) * viewportPixelSize.zw).r;\\n  if (fragCoord.z > sceneDepth + 5e-7) {\\n    return vec4(1.0, 1.0, 0.0, 1.0);\\n  }\\n  else {\\n    return vec4(1.0, 0.0, 1.0, 1.0);\\n  }\\n}\",\"hud.glsl\":\"#include <util/screenSizePerspective.glsl>\\nattribute vec3 position;\\nattribute vec3 normal;\\nattribute vec4 auxpos1;\\nuniform mat4 proj;\\nuniform mat4 view;\\nuniform mat4 viewNormal;\\nuniform mat4 model;\\nuniform mat4 modelNormal;\\nuniform vec4 viewport;\\nuniform vec3 camPos;\\nuniform float polygonOffset;\\nuniform float cameraGroundRelative;\\nuniform float pixelRatio;\\nuniform float perDistancePixelRatio;\\n#ifdef VERTICAL_OFFSET\\nuniform vec4 verticalOffset;\\n#endif\\n#ifdef SCREEN_SIZE_PERSPECTIVE\\nuniform vec4 screenSizePerspectiveAlignment;\\n#endif\\nuniform sampler2D hudVisibilityTexture;\\nconst float SMALL_OFFSET_ANGLE = 0.984807753012208;\\nstruct ProjectHUDAux {\\n  vec3 posModel;\\n  vec3 posView;\\n  vec3 vnormal;\\n  float distanceToCamera;\\n  float absCosAngle;\\n};\\nfloat applyHUDViewDependentPolygonOffset(float pointGroundDistance, float absCosAngle, inout vec3 posView) {\\n  float pointGroundSign = sign(pointGroundDistance);\\n  if (pointGroundSign == 0.0) {\\n    pointGroundSign = cameraGroundRelative;\\n  }\\n  float groundRelative = cameraGroundRelative * pointGroundSign;\\n  if (polygonOffset > .0) {\\n    float cosAlpha = clamp(absCosAngle, 0.01, 1.0);\\n    float tanAlpha = sqrt(1.0 - cosAlpha * cosAlpha) / cosAlpha;\\n    float factor = (1.0 - tanAlpha / viewport[2]);\\n    if (groundRelative > 0.0) {\\n      posView *= factor;\\n    }\\n    else {\\n      posView /= factor;\\n    }\\n  }\\n  return groundRelative;\\n}\\nvoid applyHUDVerticalGroundOffset(vec3 normalModel, inout vec3 posModel, inout vec3 posView) {\\n  float distanceToCamera = length(posView);\\n  float pixelOffset = distanceToCamera * perDistancePixelRatio * 0.5;\\n  vec3 modelOffset = normalModel * cameraGroundRelative * pixelOffset;\\n  vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;\\n  posModel += modelOffset;\\n  posView += viewOffset;\\n}\\nvec4 projectPositionHUD(out ProjectHUDAux aux) {\\n  vec3 centerOffset = auxpos1.xyz;\\n  float pointGroundDistance = auxpos1.w;\\n  aux.posModel = (model * vec4(position, 1.0)).xyz;\\n  aux.posView = (view * vec4(aux.posModel, 1.0)).xyz;\\n  aux.vnormal = (modelNormal * vec4(normal, 1.0)).xyz;\\n  applyHUDVerticalGroundOffset(aux.vnormal, aux.posModel, aux.posView);\\n  aux.distanceToCamera = length(aux.posView);\\n  vec3 viewDirObjSpace = normalize(camPos - aux.posModel);\\n  float cosAngle = dot(aux.vnormal, viewDirObjSpace);\\n  aux.absCosAngle = abs(cosAngle);\\n#ifdef SCREEN_SIZE_PERSPECTIVE\\n#if defined(VERTICAL_OFFSET) || defined(CENTER_OFFSET_UNITS_SCREEN)\\n  vec4 perspectiveFactor = screenSizePerspectiveScaleFactor(aux.absCosAngle, aux.distanceToCamera, screenSizePerspectiveAlignment);\\n#endif\\n#endif\\n#ifdef VERTICAL_OFFSET\\n#ifdef SCREEN_SIZE_PERSPECTIVE\\n  float verticalOffsetScreenHeight = applyScreenSizePerspectiveScaleFactorFloat(verticalOffset.x, perspectiveFactor);\\n#else\\n  float verticalOffsetScreenHeight = verticalOffset.x;\\n#endif\\n  float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * aux.distanceToCamera, verticalOffset.z, verticalOffset.w);\\n  vec3 modelOffset = aux.vnormal * worldOffset;\\n  aux.posModel += modelOffset;\\n  vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;\\n  aux.posView += viewOffset;\\n  pointGroundDistance += worldOffset;\\n#endif\\n  float groundRelative = applyHUDViewDependentPolygonOffset(pointGroundDistance, aux.absCosAngle, aux.posView);\\n#ifndef CENTER_OFFSET_UNITS_SCREEN\\n  aux.posView += vec3(centerOffset.x, centerOffset.y, 0.0);\\n  if (centerOffset.z != 0.0) {\\n    aux.posView -= normalize(aux.posView) * centerOffset.z;\\n  }\\n#endif\\n  vec4 posProj = proj * vec4(aux.posView, 1.0);\\n#ifdef CENTER_OFFSET_UNITS_SCREEN\\n#ifdef SCREEN_SIZE_PERSPECTIVE\\n  float centerOffsetY = applyScreenSizePerspectiveScaleFactorFloat(centerOffset.y, perspectiveFactor);\\n#else\\n  float centerOffsetY = centerOffset.y;\\n#endif\\n  posProj.xy += vec2(centerOffset.x, centerOffsetY) * pixelRatio * 2.0 / viewport.zw * posProj.w;\\n#endif\\n  posProj.z -= groundRelative * polygonOffset * posProj.w;\\n  return posProj;\\n}\\nuniform float uRenderTransparentlyOccludedHUD;\\nbool testVisibilityHUD(vec4 posProj) {\\n  vec4 posProjCenter = alignToPixelCenter(posProj, viewport.zw);\\n  vec4 occlusionPixel = texture2D(hudVisibilityTexture, .5 + .5 * posProjCenter.xy / posProjCenter.w);\\n  if (uRenderTransparentlyOccludedHUD > 0.5) {\\n    return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g * uRenderTransparentlyOccludedHUD < 1.0;\\n  }\\n  return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g == 1.0;\\n}\",\"quad.vert\":\"#include <util/vsPrecision.glsl>\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main(void) {\\n  gl_Position = vec4(position.x, position.y, .0, 1.0);\\n  uv = position * .5 + vec2(.5);\\n}\",\"screenSizePerspective.glsl\":\"float screenSizePerspectiveMinSize(float size, vec4 factor) {\\n  float nonZeroSize = 1.0 - step(size, 0.0);\\n  return (\\n    factor.z * (\\n      1.0 +\\n      nonZeroSize *\\n      2.0 * factor.w / (\\n        size + (1.0 - nonZeroSize)\\n      )\\n    )\\n  );\\n}\\nfloat screenSizePerspectiveViewAngleDependentFactor(float absCosAngle) {\\n  return absCosAngle * absCosAngle * absCosAngle;\\n}\\nvec4 screenSizePerspectiveScaleFactor(float absCosAngle, float distanceToCamera, vec4 params) {\\n  return vec4(min(params.x / (distanceToCamera - params.y), 1.0), screenSizePerspectiveViewAngleDependentFactor(absCosAngle), params.z, params.w);\\n}\\nfloat applyScreenSizePerspectiveScaleFactorFloat(float size, vec4 factor) {\\n  return max(mix(size * factor.x, size, factor.y), screenSizePerspectiveMinSize(size, factor));\\n}\\nfloat screenSizePerspectiveScaleFloat(float size, float absCosAngle, float distanceToCamera, vec4 params) {\\n  return applyScreenSizePerspectiveScaleFactorFloat(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\\n}\\nvec2 applyScreenSizePerspectiveScaleFactorVec2(vec2 size, vec4 factor) {\\n  return mix(size * clamp(factor.x, screenSizePerspectiveMinSize(size.y, factor) / size.y, 1.0), size, factor.y);\\n}\\nvec2 screenSizePerspectiveScaleVec2(vec2 size, float absCosAngle, float distanceToCamera, vec4 params) {\\n  return applyScreenSizePerspectiveScaleFactorVec2(size, screenSizePerspectiveScaleFactor(absCosAngle, distanceToCamera, params));\\n}\",\"slice.glsl\":\"#ifdef SLICE\\nuniform vec3 slicePlaneOrigin;\\nuniform vec3 slicePlaneBasis1;\\nuniform vec3 slicePlaneBasis2;\\nstruct SliceFactors {\\n  float front;\\n  float side0;\\n  float side1;\\n  float side2;\\n  float side3;\\n};\\nSliceFactors calculateSliceFactors(vec3 pos) {\\n  vec3 rel = pos - slicePlaneOrigin;\\n  vec3 slicePlaneNormal = -cross(slicePlaneBasis1, slicePlaneBasis2);\\n  float slicePlaneW = -dot(slicePlaneNormal, slicePlaneOrigin);\\n  float basis1Len2 = dot(slicePlaneBasis1, slicePlaneBasis1);\\n  float basis2Len2 = dot(slicePlaneBasis2, slicePlaneBasis2);\\n  float basis1Dot = dot(slicePlaneBasis1, rel);\\n  float basis2Dot = dot(slicePlaneBasis2, rel);\\n  return SliceFactors(\\n    dot(slicePlaneNormal, pos) + slicePlaneW,\\n    -basis1Dot - basis1Len2,\\n    basis1Dot - basis1Len2,\\n    -basis2Dot - basis2Len2,\\n    basis2Dot - basis2Len2\\n  );\\n}\\nbool sliceByFactors(SliceFactors factors) {\\n  return factors.front < 0.0\\n    && factors.side0 < 0.0\\n    && factors.side1 < 0.0\\n    && factors.side2 < 0.0\\n    && factors.side3 < 0.0;\\n}\\nbool sliceByPlane(vec3 pos) {\\n  return sliceByFactors(calculateSliceFactors(pos));\\n}\\n#ifdef EXTENSIONS_ENABLED\\nvec4 applySliceHighlight(vec4 color, vec3 pos) {\\n  SliceFactors factors = calculateSliceFactors(pos);\\n  if (sliceByFactors(factors)) {\\n    return color;\\n  }\\n  const float HIGHLIGHT_WIDTH = 1.0;\\n  const vec4 HIGHLIGHT_COLOR = vec4(0.0, 0.0, 0.0, 0.3);\\n  factors.front /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.front);\\n  factors.side0 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side0);\\n  factors.side1 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side1);\\n  factors.side2 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side2);\\n  factors.side3 /= (2.0 * HIGHLIGHT_WIDTH) * fwidth(factors.side3);\\n  float highlightFactor = (1.0 - step(0.5, factors.front))\\n    * (1.0 - step(0.5, factors.side0))\\n    * (1.0 - step(0.5, factors.side1))\\n    * (1.0 - step(0.5, factors.side2))\\n    * (1.0 - step(0.5, factors.side3));\\n  return mix(color, vec4(HIGHLIGHT_COLOR.rgb, color.a), highlightFactor * HIGHLIGHT_COLOR.a);\\n}\\n#else\\n#endif\\n#define rejectBySlice(_pos_) sliceByPlane(_pos_)\\n#define discardBySlice(_pos_) { if (sliceByPlane(_pos_)) discard; }\\n#ifdef SLICE_HIGHLIGHT_DISABLED\\n#define highlightSlice(_color_, _pos_) (_color_)\\n#else\\n#define highlightSlice(_color_, _pos_) applySliceHighlight(_color_, _pos_)\\n#endif\\n#else\\n#define rejectBySlice(_pos_) false\\n#define discardBySlice(_pos_) {}\\n#define highlightSlice(_color_, _pos_) (_color_)\\n#endif\",\"transform.glsl\":\"vec4 transformPosition(mat4 proj, mat4 view, vec3 pos) {\\n  return proj * (view * vec4(pos, 1.0));\\n}\\nvec4 transformPositionWithDepth(mat4 proj, mat4 view, vec3 pos, vec2 nearFar, out float depth) {\\n  vec4 eye = view * vec4(pos, 1.0);\\n  depth = (-eye.z - nearFar[0]) / (nearFar[1] - nearFar[0]) ;\\n  return proj * eye;\\n}\",\"visualVariables.glsl\":\"#ifdef VV_COLOR\\n  #define VV_COLOR_N 8\\n  uniform float vvColorValues[VV_COLOR_N];\\n  uniform vec4 vvColorColors[VV_COLOR_N];\\n#endif\\n#ifdef VV_SIZE\\n  uniform vec3 vvSizeMinSize;\\n  uniform vec3 vvSizeMaxSize;\\n  uniform vec3 vvSizeOffset;\\n  uniform vec3 vvSizeFactor;\\n  uniform mat3 vvSymbolRotationMatrix;\\n  uniform vec3 vvSymbolAnchor;\\n  vec3 vvGetScale(vec4 featureAttribute) {\\n    return clamp(vvSizeOffset + featureAttribute.x * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize);\\n  }\\n  vec4 vvTransformPosition(vec3 position, vec4 featureAttribute) {\\n    return vec4(vvSymbolRotationMatrix * (vvGetScale(featureAttribute) * (position + vvSymbolAnchor)), 1.0);\\n  }\\n  vec4 vvTransformNormal(vec3 normal, vec4 featureAttribute) {\\n    return vec4(vvSymbolRotationMatrix * normal / vvGetScale(featureAttribute), 1.0);\\n  }\\n#endif\\n#ifdef VV_COLOR\\n  vec4 vvGetColor(vec4 featureAttribute, float values[VV_COLOR_N], vec4 colors[VV_COLOR_N]) {\\n    float value = featureAttribute.y;\\n    if (value <= values[0]) {\\n      return colors[0];\\n    }\\n    for (int i = 1; i < VV_COLOR_N; ++i) {\\n      if (values[i] >= value) {\\n        float f = (value - values[i-1]) / (values[i] - values[i-1]);\\n        return mix(colors[i-1], colors[i], f);\\n      }\\n    }\\n    return colors[VV_COLOR_N - 1];\\n  }\\n#endif\",\"vsPrecision.glsl\":\"precision highp float;\\nprecision highp sampler2D;\"}}});","// COPYRIGHT © 2019 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// 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\",\"../../core/Accessor\",\"../../core/compilerUtils\",\"../../core/Evented\",\"../../core/maybe\",\"../../core/screenUtils\",\"../../core/accessorSupport/decorators\",\"../../core/accessorSupport/ensureType\",\"../../core/libs/gl-matrix-2/mat3\",\"../../core/libs/gl-matrix-2/mat3f64\",\"../../core/libs/gl-matrix-2/mat4\",\"../../core/libs/gl-matrix-2/mat4f64\",\"../../core/libs/gl-matrix-2/vec2\",\"../../core/libs/gl-matrix-2/vec2f32\",\"../../core/libs/gl-matrix-2/vec3\",\"../../core/libs/gl-matrix-2/vec3f64\",\"../../geometry/support/aaBoundingRect\",\"../../layers/graphics/dehydratedFeatures\",\"../3d/support/geometryUtils\",\"../3d/support/projectionUtils\",\"../3d/support/stack\",\"../3d/webgl-engine/lib/Intersector\",\"../3d/webgl-engine/lib/intersectorUtils\",\"../3d/webgl-engine/lib/Layer\",\"../3d/webgl-engine/lib/Object3D\"],function(e,t,r,i,n,o,s,a,c,l,p,u,d,h,f,g,_,y,b,m,v,P,S,O,j,R,T,A,w){function M(e){return 0!==e[12]||0!==e[13]||0!==e[14]}Object.defineProperty(t,\"__esModule\",{value:!0});var E=function(e){function t(t){var r=e.call(this,t)||this;return r.hideOnGrab=!1,r.moveOnDrag=!0,r.snapToPointer=!0,r.collisionType={type:\"point\"},r.collisionPriority=0,r.renderObjects=[],r.autoScaleRenderObjects=!0,r._radius=10,r._worldSized=!1,r._focusMultiplier=2,r._touchMultiplier=2.5,r.interactive=!0,r.selectable=!1,r.cursor=null,r.dragging=!1,r._areAnyEngineObjectsVisible=!1,r.events=new a({target:r}),r._position=m.vec3f64.create(),r._modelTransform=g.mat4f64.create(),r._dragOffset=null,r._dirtyScreenPoint=l.createScreenPoint(),r._dirtyScreenPointArray=l.createScreenPointArray(),r._dirtyRenderScreenPointArray=l.createRenderScreenPointArray3(),r._dirtyOriginScreenPointArray=l.createScreenPointArray(),r._dirtyScreenPixelSize=1,r._screenPositionDirty=!0,r._engineResourcesAddedToStage=!1,r._engineResources=null,r._attached=!1,r._engineLayerId=null,r._materialIdReferences=null,r._hitResult={onSurface:!1,surfaceType:\"ground\"},r}return i(t,e),t.prototype.initialize=function(){var e=this;this._intersector=new R(this.view.viewingMode),this._mapPoint=P.makeDehydratedPoint(0,0,0,this.view.spatialReference),this.events.on(\"drag\",function(t){return e.drag(t)})},t.prototype.destroy=function(){this._removeResourcesFromStage(),this._engineResources=null,this._set(\"view\",null),this._camera=null},Object.defineProperty(t.prototype,\"alignment\",{get:function(){return this._get(\"alignment\")},set:function(e){this._set(\"alignment\",e),this.constructed&&this._refreshMapPoint()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"visible\",{set:function(e){e!==this._get(\"visible\")&&(this._set(\"visible\",e),this._updateEngineObject())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"radius\",{get:function(){return this._radius},set:function(e){e!==this._radius&&(this._radius=e,this._updateEngineObject())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"worldSized\",{get:function(){return this._worldSized},set:function(e){e!==this._worldSized&&(this._worldSized=e,this._updateEngineObject())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"focusMultiplier\",{get:function(){return this._focusMultiplier},set:function(e){this._focusMultiplier=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"touchMultiplier\",{get:function(){return this._touchMultiplier},set:function(e){this._touchMultiplier=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"modelTransform\",{get:function(){return this._modelTransform},set:function(e){M(e)&&(this._screenPositionDirty=!0),f.mat4.copy(this._modelTransform,e),this._updateEngineObject()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(e){this.view.renderCoordsHelper.fromRenderCoords(e,this._mapPoint,this._mapPoint.spatialReference),this._refreshMapPoint()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"mapPoint\",{get:function(){return this._mapPoint},set:function(e){P.clonePoint(e,this._mapPoint),this._refreshMapPoint()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"grabbing\",{set:function(e){e!==this._get(\"grabbing\")&&(this._set(\"grabbing\",e),this._updateEngineObject()),e||(this._dragOffset=null)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"hovering\",{set:function(e){e!==this._get(\"hovering\")&&(this._set(\"hovering\",e),this._updateEngineObject())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"selected\",{set:function(e){e!==this._get(\"selected\")&&(this._set(\"selected\",e),this._updateEngineObject())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"state\",{set:function(e){e!==this._get(\"state\")&&(this._set(\"state\",e),this._updateEngineObject())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"areAnyEngineObjectsVisible\",{get:function(){return this._areAnyEngineObjectsVisible},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"surfaceType\",{get:function(){return this._hitResult.onSurface?this._hitResult.surfaceType:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"focused\",{get:function(){return this._focused},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_focused\",{get:function(){return this._get(\"hovering\")||this._get(\"grabbing\")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"screenPoint\",{get:function(){return this._updateScreenSpaceProperties(),this._dirtyScreenPoint},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_screenPointArray\",{get:function(){return this._updateScreenSpaceProperties(),this._dirtyScreenPointArray},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_renderScreenPointArray\",{get:function(){return this._updateScreenSpaceProperties(),this._dirtyRenderScreenPointArray},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_originScreenPointArray\",{get:function(){return this._updateScreenSpaceProperties(),this._dirtyOriginScreenPointArray},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_screenPixelSize\",{get:function(){return this._updateScreenSpaceProperties(),this._dirtyScreenPixelSize},enumerable:!0,configurable:!0}),t.prototype._updateScreenSpaceProperties=function(){if(this._screenPositionDirty){this._screenPositionDirty=!1,this._dirtyScreenPixelSize=this._camera.computeScreenPixelSizeAt(this._position);var e,t=M(this._modelTransform);if(t){var r=this._calculateModelTransformOffset(U);e=b.vec3.add(r,r,this._position)}else e=this._position;this._camera.projectPoint(e,this._dirtyRenderScreenPointArray),this._camera.renderToScreen(this._dirtyRenderScreenPointArray,this._dirtyScreenPointArray),l.screenPointArrayToObject(this._dirtyScreenPointArray,this._dirtyScreenPoint),t?(this._camera.projectPoint(this._position,D),this._camera.renderToScreen(D,this._dirtyOriginScreenPointArray)):_.vec2.copy(this._dirtyOriginScreenPointArray,this._dirtyScreenPointArray)}},t.prototype.intersectionDistance=function(e,t){if(!this._get(\"visible\"))return null;var r=l.screenPointObjectToArray(e,x),i=this._getCollisionRadius(t),n=-1*this._get(\"collisionPriority\");switch(this.collisionType.type){case\"point\":if(_.vec2.squaredDistance(this._screenPointArray,r)<i*i)return this._renderScreenPointArray[2]+n;break;case\"line\":for(var o=this.collisionType.paths,a=this._getWorldToScreenObjectScale(),c=this._calculateObjectTransform(a,N),p=i*this._screenPixelSize,u=S.ray.fromScreen(this._camera,r,C),h=0,f=o;h<f.length;h++){var g=f[h];if(0!==g.length)for(var y=b.vec3.transformMat4(H,g[0],c),m=1;m<g.length;m++){var v=b.vec3.transformMat4(V,g[m],c),P=S.lineSegment.closestRayDistance2(S.lineSegment.fromPoints(y,v,z),u);if(null!=P&&P<p*p){var O=b.vec3.add(j.sv3d.get(),y,v);b.vec3.scale(O,O,.5);var R=l.castRenderScreenPointArray(j.sv3d.get());return this._camera.projectPoint(O,R),R[2]+n}b.vec3.copy(y,v)}}break;case\"disc\":var T=this.collisionType.direction,a=this._getWorldToScreenObjectScale(),c=this._calculateObjectTransform(a,N),p=i*this._screenPixelSize,u=S.ray.fromScreen(this._camera,r,C),A=d.mat3.fromMat4(k,c),w=b.vec3.transformMat3(B,T,A),M=this._calculateModelTransformPosition(G);S.plane.fromPositionAndNormal(M,w,F);var E=W;if(S.plane.intersectRay(F,u,E)&&b.vec3.squaredDistance(E,M)<p*p)return this._renderScreenPointArray[2]+n;break;case\"ribbon\":var I=this.collisionType,o=I.paths,T=I.direction,a=this._getWorldToScreenObjectScale(),c=this._calculateObjectTransform(a,N),p=i*this._camera.computeScreenPixelSizeAt(this._position),u=S.ray.fromScreen(this._camera,r,C),A=d.mat3.fromMat4(k,c),w=b.vec3.transformMat3(B,T,A),M=this._calculateModelTransformPosition(G);S.plane.fromPositionAndNormal(M,w,F);var E=W;if(!S.plane.intersectRay(F,u,E))break;for(var D=0,L=o;D<L.length;D++){var g=L[D];if(0!==g.length)for(var y=b.vec3.transformMat4(H,g[0],c),m=1;m<g.length;m++){var v=b.vec3.transformMat4(V,g[m],c),P=S.lineSegment.distance2(S.lineSegment.fromPoints(y,v,z),E);if(null!=P&&P<p*p){var O=b.vec3.add(j.sv3d.get(),y,v);b.vec3.scale(O,O,.5);var R=l.castRenderScreenPointArray(j.sv3d.get());return this._camera.projectPoint(O,R),R[2]+n}b.vec3.copy(y,v)}}break;default:s.neverReached(this.collisionType)}return null},t.prototype.drag=function(e){if(this.moveOnDrag){var t=l.screenPointObjectToArray(e.screenPoint,x);c.isNone(this._dragOffset)&&this.grabbing&&!this.snapToPointer&&(this._dragOffset=_.vec2.subtract(y.vec2f32.create(),t,this._originScreenPointArray)),c.isSome(this._dragOffset)&&_.vec2.subtract(t,t,this._dragOffset),this.view.sceneIntersectionHelper.intersectToolIntersectorScreen(t,this._intersector,\"on-the-ground\"===this.alignment?I:null);var r=this._intersector.results.min,i=W;r.getIntersectionPoint(i)?(this.position=i,this._hitResult.onSurface=!0,this._hitResult.surfaceType=\"TerrainRenderer\"===r.intersector?\"ground\":\"feature\"):this._hitResult.onSurface=!1}},t.prototype.attach=function(e){if(void 0===e&&(e={manipulator3D:{}}),this.view._stage){var t=e.manipulator3D;if(this._engineLayerId=t.engineLayerId,c.isNone(this._engineLayerId)){var r=new A(\"manipulator-3d\",{isPickable:!1});this.view._stage.add(0,r),this.view._stage.addToViewContent([r.id]),this._engineLayerId=r.id,t.engineLayerId=r.id}t.engineLayerReferences=(t.engineLayerReferences||0)+1,this._materialIdReferences=t.materialIdReferences,c.isNone(this._materialIdReferences)&&(this._materialIdReferences=new Map,t.materialIdReferences=this._materialIdReferences),this._camera=this.view.state.camera,this._attached=!0,this._updateEngineObject(),O.canProject(this._mapPoint.spatialReference,this.view.spatialReference)||(this.mapPoint=P.makeDehydratedPoint(0,0,0,this.view.spatialReference))}},t.prototype.detach=function(e){void 0===e&&(e={manipulator3D:{}});var t=e.manipulator3D;t.engineLayerReferences--;var r=0===t.engineLayerReferences;r&&(t.engineLayerId=null),this._removeResourcesFromStage(r),this._engineResources=null,this._engineLayerId=null,this._materialIdReferences=null,this._camera=null,this._attached=!1},t.prototype.onViewChange=function(){this._camera=this.view.state.camera,this._screenPositionDirty=!0,this._updateEngineObject()},t.prototype.onElevationChange=function(e){this.view.renderCoordsHelper.fromRenderCoords(this.position,q,e.spatialReference)&&v.containsPoint(e.extent,q)&&this._refreshMapPoint(!0)},t.prototype._refreshMapPoint=function(e){switch(void 0===e&&(e=!1),this.alignment){case\"none\":break;case\"on-the-ground\":var t=this.view.elevationProvider.getElevation(this.mapPoint,\"ground\");if(!(t!==this._mapPoint.z||!e))return;this._mapPoint.z=t;break;default:s.neverReached(this.alignment)}this._screenPositionDirty=!0,this._hitResult.onSurface=!1,this.view.renderCoordsHelper.toRenderCoords(this._mapPoint,this._position),this._updateEngineObject()},t.prototype._updateEngineObject=function(){if(this._areAnyEngineObjectsVisible=!1,this._attached){if(!1===this._get(\"visible\"))return void this._removeResourcesFromStage();var e=this._getWorldToScreenObjectScale(),t=N;if(!0===this._get(\"autoScaleRenderObjects\")){var r=this._getFocusedSize(this._radius,this._focused)*e;this._calculateObjectTransform(r,t)}else this._calculateObjectTransform(e,t);for(var i=this._ensureEngineResources().objectsByState,n=(this._focused?2:1)|(this._get(\"selected\")?8:4),o=this._get(\"hideOnGrab\")&&this._get(\"grabbing\"),s=0,a=i;s<a.length;s++){var c=a[s],l=c.stateMask,p=c.objects;if(o)for(var u=0,d=p;u<d.length;u++){var h=d[u];h.hideAllComponents()}else{var f=0!=(15&l),g=0!=(65520&l),_=!f||(n&l)==(15&l),y=!g||(this._get(\"state\")&l)==(65520&l);if(_&&y)for(var b=0,m=p;b<m.length;b++){var h=m[b];h.unhideAllComponents(),h.objectTransformation=t,this._areAnyEngineObjectsVisible=!0}else for(var v=0,P=p;v<P.length;v++){var h=P[v];h.hideAllComponents()}}}}},t.prototype._ensureEngineResources=function(){if(c.isNone(this._engineResources)){var e=this.view._stage.getContent(0,c.expect(this._engineLayerId)),t=[],r=new Set;this.renderObjects.forEach(function(e){var i=e.material;r.has(i)||(t.push(i),r.add(i))});var i=function(e,t){var r=t.geometry,i=t.material,n=t.transform;Array.isArray(r)?r.forEach(function(t){return e.addGeometry(t,i,n)}):e.addGeometry(r,i,n)},n=new Map;this.renderObjects.forEach(function(e){var t=new w({idHint:\"manipulator\"});i(t,e);var r=e.stateMask||0,o=n.get(r)||[];o.push(t),n.set(r,o)});var o=[];n.forEach(function(e,t){o.push({stateMask:t,objects:e})}),this._engineResources={objectsByState:o,layer:e,materials:t}}return this._addResourcesToStage(),this._engineResources},t.prototype._addResourcesToStage=function(){var e=this;if(!this._engineResourcesAddedToStage&&!c.isNone(this._engineResources)){var t=this._engineResources,r=t.objectsByState,i=t.layer;t.materials.forEach(function(t){var r=c.expect(e._materialIdReferences),i=r.get(t.id)||0;0===i&&e.view._stage.add(3,t),r.set(t.id,i+1)}),r.forEach(function(t){t.objects.forEach(function(t){i.addObject(t),e.view._stage.add(1,t)})}),this._engineResourcesAddedToStage=!0}},t.prototype._removeResourcesFromStage=function(e){var t=this;if(void 0===e&&(e=!1),this._engineResourcesAddedToStage&&!c.isNone(this._engineResources)){var r=this._engineResources,i=r.objectsByState,n=r.layer,o=r.materials;i.forEach(function(e){e.objects.forEach(function(e){n.removeObject(e),t.view._stage.remove(1,e.id)})}),o.forEach(function(e){var r=c.expect(t._materialIdReferences),i=r.get(e.id);1===i?(t.view._stage.remove(3,e.id),r.delete(e.id)):r.set(e.id,i-1)}),e&&this.view._stage.remove(0,n.id),this._engineResourcesAddedToStage=!1}},t.prototype._getCollisionRadius=function(e){return this._getFocusedSize(this._radius,!0)*(\"touch\"===e?this._touchMultiplier:1)},t.prototype._getFocusedSize=function(e,t){return e*(t?this._focusMultiplier:1)},t.prototype._getWorldToScreenObjectScale=function(){return this._worldSized?1:this._screenPixelSize},t.prototype._calculateModelTransformPosition=function(e){var t=this._getWorldToScreenObjectScale(),r=this._calculateObjectTransform(t,L);return b.vec3.set(e,r[12],r[13],r[14])},t.prototype._calculateModelTransformOffset=function(e){var t=this._calculateModelTransformPosition(e);return b.vec3.subtract(e,t,this._position)},t.prototype._calculateObjectTransform=function(e,t){return f.mat4.set(t,e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1),f.mat4.multiply(t,t,this._modelTransform),t[12]+=this._position[0],t[13]+=this._position[1],t[14]+=this._position[2],t[15]=1,t},r([p.property({constructOnly:!0,nonNullable:!0})],t.prototype,\"view\",void 0),r([p.property({value:\"none\",nonNullable:!0})],t.prototype,\"alignment\",null),r([p.property()],t.prototype,\"hideOnGrab\",void 0),r([p.property()],t.prototype,\"moveOnDrag\",void 0),r([p.property()],t.prototype,\"snapToPointer\",void 0),r([p.property()],t.prototype,\"collisionType\",void 0),r([p.property({type:u.Integer})],t.prototype,\"collisionPriority\",void 0),r([p.property({constructOnly:!0})],t.prototype,\"renderObjects\",void 0),r([p.property()],t.prototype,\"autoScaleRenderObjects\",void 0),r([p.property({value:!0})],t.prototype,\"visible\",null),r([p.property()],t.prototype,\"radius\",null),r([p.property()],t.prototype,\"worldSized\",null),r([p.property()],t.prototype,\"focusMultiplier\",null),r([p.property()],t.prototype,\"touchMultiplier\",null),r([p.property()],t.prototype,\"interactive\",void 0),r([p.property()],t.prototype,\"selectable\",void 0),r([p.property()],t.prototype,\"cursor\",void 0),r([p.property({value:!1})],t.prototype,\"grabbing\",null),r([p.property()],t.prototype,\"dragging\",void 0),r([p.property({value:!1})],t.prototype,\"hovering\",null),r([p.property({value:!1})],t.prototype,\"selected\",null),r([p.property({value:0})],t.prototype,\"state\",null),r([p.property({dependsOn:[\"hovering\",\"grabbing\"]})],t.prototype,\"focused\",null),t=r([p.subclass(\"esri.views.interactive.Manipulator3D\")],t)}(p.declared(o));t.Manipulator3D=E;var I={include:new Set};I.include.add(T.TERRAIN_ID);var x=l.createScreenPointArray(),D=l.createRenderScreenPointArray3(),z=S.lineSegment.create(),C=S.ray.create(),k=h.mat3f64.create(),L=g.mat4f64.create(),N=g.mat4f64.create(),F=S.plane.create(),H=m.vec3f64.create(),V=m.vec3f64.create(),W=m.vec3f64.create(),B=m.vec3f64.create(),G=m.vec3f64.create(),U=m.vec3f64.create(),q=m.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/accessorSupport/decorators\",\"../../libs/maquette/index\"],function(t,e,r,i,o,s,n){var p=function(t){function e(e){var r=t.call(this,e)||this;return r.startX=0,r.startY=0,r.endX=0,r.endY=0,r.width=1,r.color=[0,0,0,.5],r.visible=!0,r}return r(e,t),Object.defineProperty(e.prototype,\"startPosition\",{get:function(){return[this.startX,this.startY]},set:function(t){this._set(\"startX\",t[0]),this._set(\"startY\",t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"endPosition\",{get:function(){return[this.endX,this.endY]},set:function(t){this._set(\"endX\",t[0]),this._set(\"endY\",t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"strokeStyle\",{get:function(){var t=this.color;return\"rgba(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\")\"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"lineCap\",{get:function(){return\"round\"},enumerable:!0,configurable:!0}),e.prototype.render=function(){var t=this.calculateCoordinates(a),e=t.height,r=t.left,i=t.top,o=t.width,s=t.x1,p=t.x2,h=t.y1,d=t.y2,l=\"stroke: \"+this.strokeStyle+\"; stroke-width: \"+this.width+\"; stroke-linecap: \"+this.lineCap+\";\";return n.h(\"div\",{classes:{\"esri-line-overlay-item\":!0},styles:{left:r+\"px\",top:i+\"px\",width:o+\"px\",height:e+\"px\",visibility:this.visible?\"visible\":\"hidden\"}},[n.h(\"svg\",{width:o,height:e},[n.h(\"line\",{x1:s,y1:h,x2:p,y2:d,style:l})])])},e.prototype.renderCanvas=function(t){if(this.visible){t.strokeStyle=this.strokeStyle,t.lineWidth=this.width,t.lineCap=this.lineCap;var e=this.calculateCoordinates(a);t.beginPath(),t.moveTo(e.left+e.x1,e.top+e.y1),t.lineTo(e.left+e.x2,e.top+e.y2),t.stroke()}},e.prototype.calculateCoordinates=function(t){var e=Math.min(this.startX,this.endX),r=Math.max(this.startX,this.endX),i=Math.min(this.startY,this.endY),o=Math.max(this.startY,this.endY),s=this.width;return t.left=e-s,t.top=i-s,t.width=r-e+2*s,t.height=Math.max(20,o-i+2*s),t.x1=this.startX-e+s,t.y1=this.startY-i+s,t.x2=this.endX-e+s,t.y2=this.endY-i+s,t},i([s.property()],e.prototype,\"startX\",void 0),i([s.property()],e.prototype,\"startY\",void 0),i([s.property()],e.prototype,\"endX\",void 0),i([s.property()],e.prototype,\"endY\",void 0),i([s.property({dependsOn:[\"startX\",\"startY\"]})],e.prototype,\"startPosition\",null),i([s.property({dependsOn:[\"endX\",\"endY\"]})],e.prototype,\"endPosition\",null),i([s.property()],e.prototype,\"width\",void 0),i([s.property()],e.prototype,\"color\",void 0),i([s.property()],e.prototype,\"visible\",void 0),i([s.property({readOnly:!0,dependsOn:[\"color\"]})],e.prototype,\"strokeStyle\",null),e=i([s.subclass(\"esri.views.overlay.LineOverlayItem\")],e)}(s.declared(o)),a={left:0,top:0,width:0,height:0,x1:0,y1:0,x2:0,y2:0};return 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\",\"../../libs/maquette/index\"],function(t,e,o,r,i,n,l){for(var s={bottom:\"esri-text-overlay-item-anchor-bottom\",\"bottom-right\":\"esri-text-overlay-item-anchor-bottom-right\",\"bottom-left\":\"esri-text-overlay-item-anchor-bottom-left\",top:\"esri-text-overlay-item-anchor-top\",\"top-right\":\"esri-text-overlay-item-anchor-top-right\",\"top-left\":\"esri-text-overlay-item-anchor-top-left\",center:\"esri-text-overlay-item-anchor-center\",right:\"esri-text-overlay-item-anchor-right\",left:\"esri-text-overlay-item-anchor-left\"},a=function(t){function e(e){var o=t.call(this,e)||this;return o.x=0,o.y=0,o.text=\"-\",o.fontSize=14,o.anchor=\"center\",o.visible=!0,o.backgroundColor=\"rgba(0, 0, 0, 0.6)\",o.textColor=\"white\",o.textShadowColor=[0,0,0],o.textShadowSize=1,o}return o(e,t),Object.defineProperty(e.prototype,\"position\",{get:function(){return[this.x,this.y]},set:function(t){this._set(\"x\",t[0]),this._set(\"y\",t[1])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"padding\",{get:function(){return.5*this.fontSize},enumerable:!0,configurable:!0}),e.prototype.render=function(){return l.h(\"div\",{classes:this._cssClasses(),styles:{left:Math.floor(this.x)+\"px\",top:Math.floor(this.y)+\"px\",visibility:this.visible?\"visible\":\"hidden\",fontSize:this.fontSize+\"px\",backgroundColor:this.backgroundColor,color:this.textColor,padding:this.padding+\"px\",borderRadius:this.padding+\"px\",textShadow:\"0 0 \"+this.textShadowSize+\"px rgb(\"+this.textShadowColor[0]+\", \"+this.textShadowColor[1]+\", \"+this.textShadowColor[2]+\")\"}},[this.text])},e.prototype.renderCanvas=function(t){if(this.visible){var e=t.font.replace(/^(.*?)px/,\"\");t.font=this.fontSize+\"px \"+e;var o=this.padding,r=this.padding,i=t.measureText(this.text).width,n=this.fontSize,l=h[this.anchor];t.textAlign=\"center\",t.textBaseline=\"middle\";var s=i+2*o,a=n+2*o,p=this.x+l.x*s,x=this.y+l.y*a;this.roundedRect(t,p,x,s,a,r),t.fillStyle=this.backgroundColor,t.fill();var d=this.x+(l.x+.5)*s,c=this.y+(l.y+.5)*a;this._renderTextShadow(t,this.text,d,c),t.fillStyle=this.textColor,t.fillText(this.text,d,c)}},e.prototype._renderTextShadow=function(t,e,o,r){t.lineJoin=\"miter\",t.fillStyle=\"rgba(\"+this.textShadowColor[0]+\", \"+this.textShadowColor[1]+\", \"+this.textShadowColor[2]+\", \"+1/p.length+\")\";for(var i=this.textShadowSize,n=0,l=p;n<l.length;n++){var s=l[n],a=s[0],h=s[1];t.fillText(e,o+i*a,r+i*h)}},e.prototype.roundedRect=function(t,e,o,r,i,n){t.beginPath(),t.moveTo(e,o+n),t.arcTo(e,o,e+n,o,n),t.lineTo(e+r-n,o),t.arcTo(e+r,o,e+r,o+n,n),t.lineTo(e+r,o+i-n),t.arcTo(e+r,o+i,e+r-n,o+i,n),t.lineTo(e+n,o+i),t.arcTo(e,o+i,e,o+i-n,n),t.closePath()},e.prototype._cssClasses=function(){var t={\"esri-text-overlay-item\":!0};for(var e in s)t[s[e]]=this.anchor===e;return t},r([n.property()],e.prototype,\"x\",void 0),r([n.property()],e.prototype,\"y\",void 0),r([n.property({dependsOn:[\"x\",\"y\"]})],e.prototype,\"position\",null),r([n.property()],e.prototype,\"text\",void 0),r([n.property()],e.prototype,\"fontSize\",void 0),r([n.property()],e.prototype,\"anchor\",void 0),r([n.property()],e.prototype,\"visible\",void 0),r([n.property({dependsOn:[\"fontSize\"]})],e.prototype,\"padding\",null),e=r([n.subclass(\"esri.views.overlay.TextOverlayItem\")],e)}(n.declared(i)),h={bottom:{x:-.5,y:-1,textAlign:\"center\",textBaseline:\"bottom\"},\"bottom-left\":{x:0,y:-1,textAlign:\"left\",textBaseline:\"bottom\"},\"bottom-right\":{x:-1,y:-1,textAlign:\"right\",textBaseline:\"bottom\"},center:{x:-.5,y:-.5,textAlign:\"center\",textBaseline:\"middle\"},left:{x:0,y:-.5,textAlign:\"left\",textBaseline:\"middle\"},right:{x:-1,y:-.5,textAlign:\"right\",textBaseline:\"middle\"},top:{x:-.5,y:0,textAlign:\"center\",textBaseline:\"top\"},\"top-left\":{x:0,y:0,textAlign:\"left\",textBaseline:\"top\"},\"top-right\":{x:-1,y:0,textAlign:\"right\",textBaseline:\"top\"}},p=[],x=0;x<360;x+=22.5)p.push([Math.cos(Math.PI*x/180),Math.sin(Math.PI*x/180)]);return a});"]}