{
 "currentVersion": 11.4,
 "cimVersion": "3.4.0",
 "id": 4,
 "name": "Lot Lines",
 "type": "Feature Layer",
 "description": "",
 "geometryType": "esriGeometryPolyline",
 "sourceSpatialReference": {
  "wkid": 102721,
  "latestWkid": 102721,
  "xyTolerance": 0.003280833333333333,
  "zTolerance": 0.001,
  "mTolerance": 0.001,
  "falseX": -117105100,
  "falseY": -98987300,
  "xyUnits": 3048.0060960121928,
  "falseZ": -100000,
  "zUnits": 10000,
  "falseM": 0,
  "mUnits": 1
 },
 "copyrightText": "",
 "parentLayer": null,
 "subLayers": [],
 "minScale": 0,
 "maxScale": 0,
 "referenceScale": 0.0,
 "drawingInfo": {
  "renderer": {
   "type": "uniqueValue",
   "valueExpression": "return \"COGO\"",
   "valueExpressionTitle": "Custom",
   "uniqueValueGroups": [
    {
     "heading": "",
     "classes": [
      {
       "label": "COGO",
       "description": "COGO",
       "symbol": {
        "type": "esriSLS",
        "style": "esriSLSSolid",
        "color": [
         0,
         0,
         0,
         255
        ],
        "width": 0.75
       },
       "values": [
        [
         "COGO"
        ]
       ]
      }
     ]
    }
   ],
   "uniqueValueInfos": [
    {
     "symbol": {
      "type": "esriSLS",
      "style": "esriSLSSolid",
      "color": [
       0,
       0,
       0,
       255
      ],
      "width": 0.75
     },
     "value": "COGO",
     "label": "COGO"
    }
   ],
   "fieldDelimiter": ",",
   "authoringInfo": {
    "colorRamp": {
     "type": "multipart",
     "colorRamps": [
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        203,
        252,
        197,
        255
       ],
       "toColor": [
        203,
        252,
        197,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        251,
        179,
        252,
        255
       ],
       "toColor": [
        251,
        179,
        252,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        182,
        228,
        252,
        255
       ],
       "toColor": [
        182,
        228,
        252,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        252,
        200,
        189,
        255
       ],
       "toColor": [
        252,
        200,
        189,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        179,
        188,
        252,
        255
       ],
       "toColor": [
        179,
        188,
        252,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        252,
        233,
        179,
        255
       ],
       "toColor": [
        252,
        233,
        179,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        252,
        212,
        244,
        255
       ],
       "toColor": [
        252,
        212,
        244,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        210,
        252,
        241,
        255
       ],
       "toColor": [
        210,
        252,
        241,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        242,
        252,
        215,
        255
       ],
       "toColor": [
        242,
        252,
        215,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        252,
        179,
        201,
        255
       ],
       "toColor": [
        252,
        179,
        201,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        238,
        252,
        179,
        255
       ],
       "toColor": [
        238,
        252,
        179,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        212,
        217,
        252,
        255
       ],
       "toColor": [
        212,
        217,
        252,
        255
       ]
      },
      {
       "type": "algorithmic",
       "algorithm": "esriCIELabAlgorithm",
       "fromColor": [
        228,
        194,
        252,
        255
       ],
       "toColor": [
        228,
        194,
        252,
        255
       ]
      }
     ]
    }
   }
  },
  "scaleSymbols": true,
  "transparency": 0,
  "labelingInfo": [
   {
    "labelExpressionInfo": {"expression": "// Change the settings portion to configure direction format, color, rounding and abbreviations\n// This is an Arcade expression\n\n// SETTINGS\nvar QuadrantBearingFormat = true; //set 'true' for quadrant bearing, 'false' for north azimuth\nvar ShowDistance = true;   //set as 'true' to show distance\nvar ShowDirection = true;  //set as 'true' to show direction\nvar ShowRadius = true;     //set as 'true' to show radius\nvar ShowCurveParemater = true;    //set as 'true' to show a curve parameter\nvar CurveParameter = \"ArcLength\"; //set as 'ArcLength' or 'Chord' or 'Angle' for central angle. Case sensitive!\nvar ErrorString = \"COGO ERROR\";   //set to display invalid COGO combinations\nvar RadiusAbbr = 'R=';     //radius abbreviation\nvar Radius2Abbr = 'R2=';     //radius2 abbreviation for spiral curves\nvar ArclengthAbrr = 'L=';  //arclength abbreviation\nvar ChordAbbr = 'C=';      //chord abbreviation\nvar AngleAbbr = 'A=';      //central Angle abbreviation\nvar DistUnitRounding = 2;  //number of decimal places for distance units: distance, radius, arclength & chord\nvar NumberFormat = \"#,###.00\" //number format. In this example: thousands separator with padding of 2 zeros \nvar directionColor = \"blue='255'\"; //direction color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar distanceColor = \"black='255'\"; //distance color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar radiusColor = \"blue='255'\";    //radius color:  red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar curveParamColor = \"black='255'\"; //curve parameter color:  red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar partialCOGOColor = \"magenta='255'\"; //partial COGO color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar invalidCOGOColor = \"red='255'\"; //invalid COGO color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar fontNameSize = \"<FNT name = 'Arial' size = '10'>\"; //font type and size\n\n// VARIABLES\nvar direction=$feature.Direction;\nvar distance=$feature.Distance;\nvar radius=$feature.Radius;\nvar arclength=$feature.Arclength;\nvar radius2=$feature.Radius2\nvar prefix;  // quadrant bearing prefix\nvar postfix; // quadrant bearing postfix\nvar bearing; \nvar quadbearing;\nvar binaryDictionary; //binary dictionary to check COGO combinations\nvar checksum=0; //initialize checksum\nvar validValuesArray; //array of valid values for COGO combinations\nvar partialValuesArray; //array of partial values for COGO\nvar degrees;\nvar minutes;\nvar seconds;\nvar DMS;\nvar directionStr = \"\"; //direction string using for label\nvar distanceStr = \"\";  //distance string using for label\nvar radiusStr = \"\";    //radius string using for label\nvar radius2Str = \"\";    //radius2 string using for labeling spiral curves\nvar curveStr = \"\";     //curve parameter string using for label\nvar angleRad; //curve angle in radians\nvar COGOValidity; //COGO combinations validity. can be valid, partial or invalid.\n\n\nfunction NorthAzimuth2Quadbearing(azimuth){\n            if (azimuth<90 && azimuth>=0){\n                        bearing=azimuth;\n                        prefix = \"N\";\n                        postfix= \"E\";}\n            else if (azimuth<180 && azimuth>=90){\n                        bearing=180-azimuth;\n                        prefix = \"S\";\n                        postfix= \"E\";}\n            else if (azimuth<270 && azimuth>=180){\n                        bearing=abs(180-azimuth);\n                        prefix = \"S\";\n                        postfix= \"W\";}\n            else if (azimuth<360 && azimuth>=270){\n                        bearing=360-azimuth;\n                        prefix = \"N\";\n                        postfix= \"W\";}\n            \n            degrees=floor(bearing);\n            minutes=floor((bearing-degrees)*60)\n            seconds=((bearing-degrees-minutes/60)*3600)\n            if (seconds>=59.5){\n                seconds=0;\n                minutes+=1;\n                if (minutes==60){\n                    minutes=0;\n                    degrees+=1;}}\n            quadbearing=prefix+degrees+\"°\"+text(minutes,\"00\")+\"'\"+text(seconds,\"00\")+\"''\"+postfix;\n            return quadbearing;\n}\n\nfunction DMS(bearing){\n    degrees=floor(bearing);\n    minutes=floor((bearing-degrees)*60)\n    seconds=((bearing-degrees-minutes/60)*3600)\n    if (seconds>=59.5){\n        seconds=0;\n        minutes+=1;\n        if (minutes==60){\n            minutes=0;\n            degrees+=1;}}\n    DMS=degrees+\"°\"+text(minutes,\"00\")+\"'\"+text(seconds,\"00\")+\"''\";\n    return DMS;\n    \n}\nfunction IsValidCOGO(direction, distance, radius, arclength, radius2) {\n    binaryDictionary= Dictionary('dir', 1, 'dist',2, 'rad',4, 'arc',8, 'rad2',16)\n    if (!IsEmpty(direction)) {checksum+=binaryDictionary.dir}\n    if (!IsEmpty(distance)) {checksum+=binaryDictionary.dist}\n    if (!IsEmpty(radius)) {checksum+=binaryDictionary.rad}\n    if (!IsEmpty(arclength)) {checksum+=binaryDictionary.arc}\n    if (!IsEmpty(radius2)) {checksum+=binaryDictionary.rad2}\n    \n    validValuesArray=[0,3,8,13,29]; //array of valid combinations: '0' for nothing, ... '13' for direction & radius & arclength ...\n    partialValuesArray=[1,2,4,5,9,12,16,20,21,25,28]; //array of partial combinations: '1' for only direction, '2' for only distance, '4' for only radius...\n        \n    if (IndexOf(validValuesArray,checksum)>-1) { // a negative value is returned if checksum value is not in the a valid combination array\n        return \"valid\";\n    }\n    if (IndexOf(partialValuesArray,checksum)>-1){\n        return \"partial\";        \n    }\n    return \"invalid\";\n}\n\nCOGOValidity = IsValidCOGO(direction, distance, radius, arclength, radius2);\nif ( COGOValidity == \"invalid\") { //if invalid COGO return error string\n    return \"<BOL><CLR \" + invalidCOGOColor + \">\" + fontNameSize + ErrorString + \"<\/FNT><\/CLR><\/BOL>\";    \n}\n\nelse if (COGOValidity == \"partial\") { //if a partial COGO change colors\n    distanceColor = partialCOGOColor;\n    directionColor = partialCOGOColor;\n    radiusColor = partialCOGOColor;\n}\n\n// Direction string\nif (ShowDirection) {\n    if (IsEmpty(direction)==false) { \n        if (QuadrantBearingFormat==true) {  //using quadrant bearing format\n                directionStr = \"<CLR \" + directionColor + \">\" + fontNameSize + NorthAzimuth2Quadbearing(direction) + \"<\/FNT><\/CLR>\";\n        }\n        else {  //using north azimuth format\n            directionStr = \"<CLR \" + directionColor + \">\" + fontNameSize + DMS(direction) + \"<\/FNT><\/CLR>\";\n        }\n    }\n}\n\n// Distance string\nif (ShowDistance) {\n    if (IsEmpty(distance)==false) {\n    distanceStr = \"<CLR \" + distanceColor + \">\" + fontNameSize +  text(round(distance,DistUnitRounding), NumberFormat) + \"<\/FNT><\/CLR>\";\n    }\n}\n\n//Radius String\nif (ShowRadius) {\n    if (!IsEmpty(radius)) { //it can be a curve or a spiral\n        if (IsEmpty(radius2)) { //if radius2 is empty this is a curve\n            radiusStr = \"<CLR \" + radiusColor + \">\" + fontNameSize + RadiusAbbr + \" \" + text(round(radius, DistUnitRounding), NumberFormat) + \"<\/FNT><\/CLR>\";\n        }\n        else { // it is a spiral\n            radiusStr = \"<CLR \" + radiusColor + \">\" + fontNameSize + RadiusAbbr + \" \" + text(round(radius, DistUnitRounding),NumberFormat) + \"<\/FNT><\/CLR>\";\n            radius2Str = \"<CLR \" + radiusColor + \">\" + fontNameSize + Radius2Abbr + \" \" + text(round(radius2, DistUnitRounding),NumberFormat) + \"<\/FNT><\/CLR>\";\n            if (radius == 0) { //substitute to infinity sign\n                radiusStr = \"<CLR \" + radiusColor + \">\" + fontNameSize + RadiusAbbr + \" ∞ \" + \"<\/FNT><\/CLR>\";\n            }\n            if (radius2 == 0) { //substitute to infinity sign\n                radius2Str = \"<CLR \" + radiusColor + \">\" + fontNameSize + Radius2Abbr + \" ∞ \" + \"<\/FNT><\/CLR>\";\n            }\n        }    \n        \n    }\n}\n\n// Curve Parameter\nif (ShowCurveParemater) {\n        if (!IsEmpty(arclength)) {\n            if (CurveParameter == 'ArcLength') {\n                curveStr = \"<CLR \" + curveParamColor + \">\" + fontNameSize + ArclengthAbrr + text(round(arclength, DistUnitRounding), NumberFormat) + \"<\/FNT><\/CLR>\"; //return Arc length                \n            }\n            angleRad = arclength/(abs(radius)) //calculate angle in radians\n            if (CurveParameter == 'Angle') {\n                curveStr = \"<CLR \" + curveParamColor + \">\" + fontNameSize + AngleAbbr + DMS(angleRad * 180 / pi) + \"<\/FNT><\/CLR>\"; // convert radian to degrees and show as DMS\n            }\n            if (CurveParameter == 'Chord') {\n                curveStr = \"<CLR \" + curveParamColor + \">\" + fontNameSize + ChordAbbr + text(round((2 * abs(radius) * Sin(angleRad/2)),DistUnitRounding), NumberFormat) + \"<\/FNT><\/CLR>\"; //calculate chord length\n            }            \n        }\n}\n    \n// Assemble label string\nif (IsEmpty(radius)) { //if its empty it is not a curve\n    return directionStr + \"\\n\" + distanceStr\n}\nelse { //it's a curve\n    return radiusStr + \"  \" + radius2Str + \" \\n \" + curveStr;\n}"},
    "lineOrientation": "direction",
    "labelPlacement": "esriServerLinePlacementBelowStart",
    "textLayout": "followFeature",
    "deconflictionStrategy": "static",
    "lineConnection": "none",
    "multiPart": "labelPerFeature",
    "useClippedGeometry": true,
    "allowOverlapOfFeatureInterior": "exclude",
    "offsetDistance": 3,
    "stackLabel": false,
    "removeDuplicates": "none",
    "useCodedValues": false,
    "maxScale": 0,
    "minScale": 2000,
    "name": "Direction and Distance",
    "priority": -1,
    "symbol": {
     "type": "esriTS",
     "color": [
      0,
      0,
      0,
      255
     ],
     "backgroundColor": null,
     "borderLineColor": null,
     "borderLineSize": null,
     "verticalAlignment": "bottom",
     "horizontalAlignment": "left",
     "rightToLeft": false,
     "angle": 0,
     "xoffset": 0,
     "yoffset": 0,
     "kerning": true,
     "haloColor": [
      255,
      255,
      255,
      255
     ],
     "haloSize": 2,
     "font": {
      "family": "Tahoma",
      "size": 10,
      "style": "normal",
      "weight": "normal",
      "decoration": "none"
     }
    }
   },
   {
    "labelExpressionInfo": {"expression": "// Change the settings portion to configure direction format, color, rounding and abbreviations\n// This is an Arcade expression\n\n// SETTINGS\nvar QuadrantBearingFormat = true; //set 'true' for quadrant bearing, 'false' for north azimuth\nvar ShowDistance = true;   //set as 'true' to show distance\nvar ShowDirection = false;  //set as 'true' to show direction\nvar ShowRadius = true;     //set as 'true' to show radius\nvar ShowCurveParemater = true;    //set as 'true' to show a curve parameter\nvar CurveParameter = \"ArcLength\"; //set as 'ArcLength' or 'Chord' or 'Angle' for central angle. Case sensitive!\nvar ErrorString = \"COGO ERROR\";   //set to display invalid COGO combinations\nvar RadiusAbbr = 'R=';     //radius abbreviation\nvar Radius2Abbr = 'R2=';     //radius2 abbreviation for spiral curves\nvar ArclengthAbrr = 'L=';  //arclength abbreviation\nvar ChordAbbr = 'C=';      //chord abbreviation\nvar AngleAbbr = 'A=';      //central Angle abbreviation\nvar DistUnitRounding = 2;  //number of decimal places for distance units: distance, radius, arclength & chord\nvar NumberFormat = \"#,###.00\" //number format. In this example: thousands separator with padding of 2 zeros \nvar directionColor = \"blue='255'\"; //direction color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar distanceColor = \"black='255'\"; //distance color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar radiusColor = \"blue='255'\";    //radius color:  red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar curveParamColor = \"black='255'\"; //curve parameter color:  red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar partialCOGOColor = \"magenta='255'\"; //partial COGO color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar invalidCOGOColor = \"red='255'\"; //invalid COGO color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\nvar fontNameSize = \"<FNT name = 'Arial' size = '10'>\"; //font type and size\n\n// VARIABLES\nvar direction=$feature.Direction;\nvar distance=$feature.Distance;\nvar radius=$feature.Radius;\nvar arclength=$feature.Arclength;\nvar radius2=$feature.Radius2\nvar prefix;  // quadrant bearing prefix\nvar postfix; // quadrant bearing postfix\nvar bearing; \nvar quadbearing;\nvar binaryDictionary; //binary dictionary to check COGO combinations\nvar checksum=0; //initialize checksum\nvar validValuesArray; //array of valid values for COGO combinations\nvar partialValuesArray; //array of partial values for COGO\nvar degrees;\nvar minutes;\nvar seconds;\nvar DMS;\nvar directionStr = \"\"; //direction string using for label\nvar distanceStr = \"\";  //distance string using for label\nvar radiusStr = \"\";    //radius string using for label\nvar radius2Str = \"\";    //radius2 string using for labeling spiral curves\nvar curveStr = \"\";     //curve parameter string using for label\nvar angleRad; //curve angle in radians\nvar COGOValidity; //COGO combinations validity. can be valid, partial or invalid.\n\n\nfunction NorthAzimuth2Quadbearing(azimuth){\n            if (azimuth<90 && azimuth>=0){\n                        bearing=azimuth;\n                        prefix = \"N\";\n                        postfix= \"E\";}\n            else if (azimuth<180 && azimuth>=90){\n                        bearing=180-azimuth;\n                        prefix = \"S\";\n                        postfix= \"E\";}\n            else if (azimuth<270 && azimuth>=180){\n                        bearing=abs(180-azimuth);\n                        prefix = \"S\";\n                        postfix= \"W\";}\n            else if (azimuth<360 && azimuth>=270){\n                        bearing=360-azimuth;\n                        prefix = \"N\";\n                        postfix= \"W\";}\n            \n            degrees=floor(bearing);\n            minutes=floor((bearing-degrees)*60)\n            seconds=((bearing-degrees-minutes/60)*3600)\n            if (seconds>=59.5){\n                seconds=0;\n                minutes+=1;\n                if (minutes==60){\n                    minutes=0;\n                    degrees+=1;}}\n            quadbearing=prefix+degrees+\"°\"+text(minutes,\"00\")+\"'\"+text(seconds,\"00\")+\"''\"+postfix;\n            return quadbearing;\n}\n\nfunction DMS(bearing){\n    degrees=floor(bearing);\n    minutes=floor((bearing-degrees)*60)\n    seconds=((bearing-degrees-minutes/60)*3600)\n    if (seconds>=59.5){\n        seconds=0;\n        minutes+=1;\n        if (minutes==60){\n            minutes=0;\n            degrees+=1;}}\n    DMS=degrees+\"°\"+text(minutes,\"00\")+\"'\"+text(seconds,\"00\")+\"''\";\n    return DMS;\n    \n}\nfunction IsValidCOGO(direction, distance, radius, arclength, radius2) {\n    binaryDictionary= Dictionary('dir', 1, 'dist',2, 'rad',4, 'arc',8, 'rad2',16)\n    if (!IsEmpty(direction)) {checksum+=binaryDictionary.dir}\n    if (!IsEmpty(distance)) {checksum+=binaryDictionary.dist}\n    if (!IsEmpty(radius)) {checksum+=binaryDictionary.rad}\n    if (!IsEmpty(arclength)) {checksum+=binaryDictionary.arc}\n    if (!IsEmpty(radius2)) {checksum+=binaryDictionary.rad2}\n    \n    validValuesArray=[0,3,8,13,29]; //array of valid combinations: '0' for nothing, ... '13' for direction & radius & arclength ...\n    partialValuesArray=[1,2,4,5,9,12,16,20,21,25,28]; //array of partial combinations: '1' for only direction, '2' for only distance, '4' for only radius...\n        \n    if (IndexOf(validValuesArray,checksum)>-1) { // a negative value is returned if checksum value is not in the a valid combination array\n        return \"valid\";\n    }\n    if (IndexOf(partialValuesArray,checksum)>-1){\n        return \"partial\";        \n    }\n    return \"invalid\";\n}\n\nCOGOValidity = IsValidCOGO(direction, distance, radius, arclength, radius2);\nif ( COGOValidity == \"invalid\") { //if invalid COGO return error string\n    return \"<BOL><CLR \" + invalidCOGOColor + \">\" + fontNameSize + ErrorString + \"<\/FNT><\/CLR><\/BOL>\";    \n}\n\nelse if (COGOValidity == \"partial\") { //if a partial COGO change colors\n    distanceColor = partialCOGOColor;\n    directionColor = partialCOGOColor;\n    radiusColor = partialCOGOColor;\n}\n\n// Direction string\nif (ShowDirection) {\n    if (IsEmpty(direction)==false) { \n        if (QuadrantBearingFormat==true) {  //using quadrant bearing format\n                directionStr = \"<CLR \" + directionColor + \">\" + fontNameSize + NorthAzimuth2Quadbearing(direction) + \"<\/FNT><\/CLR>\";\n        }\n        else {  //using north azimuth format\n            directionStr = \"<CLR \" + directionColor + \">\" + fontNameSize + DMS(direction) + \"<\/FNT><\/CLR>\";\n        }\n    }\n}\n\n// Distance string\nif (ShowDistance) {\n    if (IsEmpty(distance)==false) {\n    distanceStr = \"<CLR \" + distanceColor + \">\" + fontNameSize +  text(round(distance,DistUnitRounding), NumberFormat) + \"<\/FNT><\/CLR>\";\n    }\n}\n\n//Radius String\nif (ShowRadius) {\n    if (!IsEmpty(radius)) { //it can be a curve or a spiral\n        if (IsEmpty(radius2)) { //if radius2 is empty this is a curve\n            radiusStr = \"<CLR \" + radiusColor + \">\" + fontNameSize + RadiusAbbr + \" \" + text(round(radius, DistUnitRounding), NumberFormat) + \"<\/FNT><\/CLR>\";\n        }\n        else { // it is a spiral\n            radiusStr = \"<CLR \" + radiusColor + \">\" + fontNameSize + RadiusAbbr + \" \" + text(round(radius, DistUnitRounding),NumberFormat) + \"<\/FNT><\/CLR>\";\n            radius2Str = \"<CLR \" + radiusColor + \">\" + fontNameSize + Radius2Abbr + \" \" + text(round(radius2, DistUnitRounding),NumberFormat) + \"<\/FNT><\/CLR>\";\n            if (radius == 0) { //substitute to infinity sign\n                radiusStr = \"<CLR \" + radiusColor + \">\" + fontNameSize + RadiusAbbr + \" ∞ \" + \"<\/FNT><\/CLR>\";\n            }\n            if (radius2 == 0) { //substitute to infinity sign\n                radius2Str = \"<CLR \" + radiusColor + \">\" + fontNameSize + Radius2Abbr + \" ∞ \" + \"<\/FNT><\/CLR>\";\n            }\n        }    \n        \n    }\n}\n\n// Curve Parameter\nif (ShowCurveParemater) {\n        if (!IsEmpty(arclength)) {\n            if (CurveParameter == 'ArcLength') {\n                curveStr = \"<CLR \" + curveParamColor + \">\" + fontNameSize + ArclengthAbrr + text(round(arclength, DistUnitRounding), NumberFormat) + \"<\/FNT><\/CLR>\"; //return Arc length                \n            }\n            angleRad = arclength/(abs(radius)) //calculate angle in radians\n            if (CurveParameter == 'Angle') {\n                curveStr = \"<CLR \" + curveParamColor + \">\" + fontNameSize + AngleAbbr + DMS(angleRad * 180 / pi) + \"<\/FNT><\/CLR>\"; // convert radian to degrees and show as DMS\n            }\n            if (CurveParameter == 'Chord') {\n                curveStr = \"<CLR \" + curveParamColor + \">\" + fontNameSize + ChordAbbr + text(round((2 * abs(radius) * Sin(angleRad/2)),DistUnitRounding), NumberFormat) + \"<\/FNT><\/CLR>\"; //calculate chord length\n            }            \n        }\n}\n    \n// Assemble label string\nif (IsEmpty(radius)) { //if its empty it is not a curve\n    return directionStr + \"\\n\" + distanceStr\n}\nelse { //it's a curve\n    return radiusStr + \"  \" + radius2Str + \" \\n \" + curveStr;\n}"},
    "lineOrientation": "direction",
    "labelPlacement": "esriServerLinePlacementBelowStart",
    "textLayout": "followFeature",
    "deconflictionStrategy": "static",
    "lineConnection": "none",
    "multiPart": "labelPerFeature",
    "useClippedGeometry": true,
    "allowOverlapOfFeatureInterior": "exclude",
    "offsetDistance": 3,
    "stackLabel": false,
    "removeDuplicates": "none",
    "useCodedValues": false,
    "maxScale": 0,
    "minScale": 2000,
    "name": "Distance",
    "priority": -1,
    "symbol": {
     "type": "esriTS",
     "color": [
      0,
      0,
      0,
      255
     ],
     "backgroundColor": null,
     "borderLineColor": null,
     "borderLineSize": null,
     "verticalAlignment": "bottom",
     "horizontalAlignment": "left",
     "rightToLeft": false,
     "angle": 0,
     "xoffset": 0,
     "yoffset": 0,
     "kerning": true,
     "haloColor": [
      255,
      255,
      255,
      255
     ],
     "haloSize": 2,
     "font": {
      "family": "Tahoma",
      "size": 10,
      "style": "normal",
      "weight": "normal",
      "decoration": "none"
     }
    }
   }
  ]
 },
 "defaultVisibility": false,
 "extent": {
  "xmin": -1.0816530357579477E7,
  "ymin": 5767639.172091274,
  "xmax": -1.0746505358731428E7,
  "ymax": 5882444.483291827,
  "zmin": -77030.802,
  "zmax": 4.34321060534869E10,
  "spatialReference": {
   "wkid": 102100,
   "latestWkid": 3857,
   "vcsWkid": 5703,
   "latestVcsWkid": 5703,
   "xyTolerance": 0.001,
   "zTolerance": 0.001,
   "mTolerance": 0.001,
   "falseX": -20037700,
   "falseY": -30241100,
   "xyUnits": 10000,
   "falseZ": -100000,
   "zUnits": 10000,
   "falseM": -100000,
   "mUnits": 10000
  }
 },
 "heightModelInfo": {
  "heightModel": "gravity_related_height",
  "vertCRS": "NAVD_1988",
  "heightUnit": "meter"
 },
 "supportsVCSProjection": true,
 "hasAttachments": false,
 "htmlPopupType": "esriServerHTMLPopupTypeAsHTMLText",
 "displayFieldExpressionInfo": {
  "expression": "// Change the settings portion to configure direction format, rounding and abbreviations\n// This is an Arcade expression\n\n// SETTINGS\nvar QuadrantBearingFormat = true; //set 'true' for quadrant bearing, 'false' for north azimuth\nvar ShowDistance = true;   //set as 'true' to show distance\nvar ShowDirection = true;  //set as 'true' to show direction\nvar ShowRadius = true;     //set as 'true' to show radius\nvar ShowCurveParemater = true;    //set as 'true' to show a curve parameter\nvar CurveParameter = \"ArcLength\"; //set as 'ArcLength' or 'Chord' or 'Angle' for central angle. Case sensitive!\nvar ErrorString = \"COGO ERROR\";   //set to display invalid COGO combinations\nvar RadiusAbbr = 'R=';     //radius abbreviation\nvar Radius2Abbr = 'R2=';     //radius2 abbreviation for spiral curves\nvar ArclengthAbrr = 'L=';  //arclength abbreviation\nvar ChordAbbr = 'C=';      //chord abbreviation\nvar AngleAbbr = 'A=';      //central Angle abbreviation\nvar DistUnitRounding = 2;  //number of decimal places for distance units: distance, radius, arclength & chord\nvar NumberFormat = \"#,###.00\" //number format. In this example: thousands separator with padding of 2 zeros \n\n// VARIABLES\nvar direction=$feature.Direction;\nvar distance=$feature.Distance;\nvar radius=$feature.Radius;\nvar arclength=$feature.Arclength;\nvar radius2=$feature.Radius2\nvar prefix;  // quadrant bearing prefix\nvar postfix; // quadrant bearing postfix\nvar bearing; \nvar quadbearing;\nvar binaryDictionary; //binary dictionary to check COGO combinations\nvar checksum=0; //initialize checksum\nvar validValuesArray; //array of valid values for COGO combinations\nvar partialValuesArray; //array of partial values for COGO\nvar degrees;\nvar minutes;\nvar seconds;\nvar DMS;\nvar directionStr = \"\"; //direction string using for label\nvar distanceStr = \"\";  //distance string using for label\nvar radiusStr = \"\";    //radius string using for label\nvar radius2Str = \"\";    //radius2 string using for labeling spiral curves\nvar curveStr = \"\";     //curve parameter string using for label\nvar angleRad; //curve angle in radians\nvar COGOValidity; //COGO combinations validity. can be valid, partial or invalid.\n\n\nfunction NorthAzimuth2Quadbearing(azimuth){\n            if (azimuth<90 && azimuth>=0){\n                        bearing=azimuth;\n                        prefix = \"N\";\n                        postfix= \"E\";}\n            else if (azimuth<180 && azimuth>=90){\n                        bearing=180-azimuth;\n                        prefix = \"S\";\n                        postfix= \"E\";}\n            else if (azimuth<270 && azimuth>=180){\n                        bearing=abs(180-azimuth);\n                        prefix = \"S\";\n                        postfix= \"W\";}\n            else if (azimuth<360 && azimuth>=270){\n                        bearing=360-azimuth;\n                        prefix = \"N\";\n                        postfix= \"W\";}\n            \n            degrees=floor(bearing);\n            minutes=floor((bearing-degrees)*60)\n            seconds=((bearing-degrees-minutes/60)*3600)\n            if (seconds>=59.5){\n                seconds=0;\n                minutes+=1;\n                if (minutes==60){\n                    minutes=0;\n                    degrees+=1;}}\n            quadbearing=prefix+degrees+\"°\"+text(minutes,\"00\")+\"'\"+text(seconds,\"00\")+\"''\"+postfix;\n            return quadbearing;\n}\n\nfunction DMS(bearing){\n    degrees=floor(bearing);\n    minutes=floor((bearing-degrees)*60)\n    seconds=((bearing-degrees-minutes/60)*3600)\n    if (seconds>=59.5){\n        seconds=0;\n        minutes+=1;\n        if (minutes==60){\n            minutes=0;\n            degrees+=1;}}\n    DMS=degrees+\"°\"+text(minutes,\"00\")+\"'\"+text(seconds,\"00\")+\"''\";\n    return DMS;\n    \n}\nfunction IsValidCOGO(direction, distance, radius, arclength, radius2) {\n    binaryDictionary= Dictionary('dir', 1, 'dist',2, 'rad',4, 'arc',8, 'rad2',16)\n    if (!IsEmpty(direction)) {checksum+=binaryDictionary.dir}\n    if (!IsEmpty(distance)) {checksum+=binaryDictionary.dist}\n    if (!IsEmpty(radius)) {checksum+=binaryDictionary.rad}\n    if (!IsEmpty(arclength)) {checksum+=binaryDictionary.arc}\n    if (!IsEmpty(radius2)) {checksum+=binaryDictionary.rad2}\n    \n    validValuesArray=[0,3,8,13,29]; //array of valid combinations: '0' for nothing, ... '13' for direction & radius & arclength ...\n    partialValuesArray=[1,2,4,5,9,12,16,20,21,25,28]; //array of partial combinations: '1' for only direction, '2' for only distance...\n        \n    if (IndexOf(validValuesArray,checksum)>-1) { // a negative value is returned if checksum value is not in the a valid combination array\n        return \"valid\";\n    }\n    if (IndexOf(partialValuesArray,checksum)>-1){\n        return \"partial\";        \n    }\n    return \"invalid\";\n}\n\nCOGOValidity = IsValidCOGO(direction, distance, radius, arclength, radius2);\nif ( COGOValidity == \"invalid\") { //if invalid COGO return error string\n    return ErrorString;    \n}\n\n// Direction string\nif (ShowDirection) {\n    if (IsEmpty(direction)==false) { \n        if (QuadrantBearingFormat==true) {  //using quadrant bearing format\n                directionStr = NorthAzimuth2Quadbearing(direction);\n        }\n        else {  //using north azimuth format\n            directionStr = DMS(direction);\n        }\n    }\n}\n\n// Distance string\nif (ShowDistance) {\n    if (IsEmpty(distance)==false) {\n    distanceStr = text(round(distance,DistUnitRounding), NumberFormat);\n    }\n}\n\n//Radius String\nif (ShowRadius) {\n    if (!IsEmpty(radius)) { //it can be a curve or a spiral\n        if (IsEmpty(radius2)) { //if radius2 is empty this is a curve\n            radiusStr = RadiusAbbr + \" \" + text(round(radius, DistUnitRounding), NumberFormat);\n        }\n        else { // it is a spiral\n            radiusStr = RadiusAbbr + \" \" + text(round(radius, DistUnitRounding),NumberFormat);\n            radius2Str = Radius2Abbr + \" \" + text(round(radius2, DistUnitRounding),NumberFormat);\n            if (radius == 0) { //substitute to infinity sign\n                radiusStr = RadiusAbbr + \" ∞ \";\n            }\n            if (radius2 == 0) { //substitute to infinity sign\n                radius2Str = Radius2Abbr + \" ∞ \";\n            }\n        }    \n        \n    }\n}\n// Curve Parameter\nif (ShowCurveParemater) {\n        if (!IsEmpty(arclength)) {\n            if (CurveParameter == 'ArcLength') {\n                curveStr = ArclengthAbrr + text(round(arclength, DistUnitRounding), NumberFormat); //return Arc length                \n            }\n            angleRad = arclength/(abs(radius)) //calculate angle in radians\n            if (CurveParameter == 'Angle') {\n                curveStr = AngleAbbr + DMS(angleRad * 180 / pi); // convert radian to degrees and show as DMS\n            }\n            if (CurveParameter == 'Chord') {\n                curveStr = ChordAbbr + text(round((2 * abs(radius) * Sin(angleRad/2)),DistUnitRounding), NumberFormat); //calculate chord length\n            }            \n        }\n}\n    \n// Assemble label string\nif (IsEmpty(radius)) { //if its empty it is not a curve\n    return directionStr + \"   \" + distanceStr\n}\nelse { //it's a curve\n    return radiusStr + \" \" + radius2Str + \"  \" + curveStr;\n}",
  "title": "Custom"
 },
 "displayField": "Direction",
 "typeIdField": null,
 "subtypeFieldName": null,
 "subtypeField": null,
 "defaultSubtypeCode": null,
 "fields": [
  {
   "name": "OBJECTID",
   "type": "esriFieldTypeOID",
   "alias": "OBJECTID",
   "domain": null
  },
  {
   "name": "Direction",
   "type": "esriFieldTypeDouble",
   "alias": "Direction",
   "domain": null
  },
  {
   "name": "Distance",
   "type": "esriFieldTypeDouble",
   "alias": "Distance",
   "domain": null
  },
  {
   "name": "Radius",
   "type": "esriFieldTypeDouble",
   "alias": "Radius",
   "domain": null
  },
  {
   "name": "ArcLength",
   "type": "esriFieldTypeDouble",
   "alias": "Arc Length",
   "domain": null
  },
  {
   "name": "Radius2",
   "type": "esriFieldTypeDouble",
   "alias": "Radius2",
   "domain": null
  },
  {
   "name": "CreatedByRecord",
   "type": "esriFieldTypeGUID",
   "alias": "Created By Record",
   "length": 38,
   "domain": null
  },
  {
   "name": "RetiredByRecord",
   "type": "esriFieldTypeGUID",
   "alias": "Retired By Record",
   "length": 38,
   "domain": null
  },
  {
   "name": "ParentLineID",
   "type": "esriFieldTypeGUID",
   "alias": "Parent Line ID",
   "length": 38,
   "domain": null
  },
  {
   "name": "COGOType",
   "type": "esriFieldTypeInteger",
   "alias": "COGO Type",
   "domain": {
    "type": "codedValue",
    "name": "PF_COGOType",
    "description": "Parcel Fabric COGO Type",
    "codedValues": [
     {
      "name": "Entered",
      "code": 1
     },
     {
      "name": "From Geometry",
      "code": 2
     },
     {
      "name": "Computed",
      "code": 3
     }
    ],
    "mergePolicy": "esriMPTDefaultValue",
    "splitPolicy": "esriSPTDuplicate"
   }
  },
  {
   "name": "IsCOGOGround",
   "type": "esriFieldTypeInteger",
   "alias": "Is COGO Ground",
   "domain": {
    "type": "codedValue",
    "name": "PF_YesNo",
    "description": "Parcel Fabric Yes No",
    "codedValues": [
     {
      "name": "No",
      "code": 0
     },
     {
      "name": "Yes",
      "code": 1
     }
    ],
    "mergePolicy": "esriMPTDefaultValue",
    "splitPolicy": "esriSPTDuplicate"
   }
  },
  {
   "name": "COGOAccuracy",
   "type": "esriFieldTypeInteger",
   "alias": "COGO Accuracy",
   "domain": {
    "type": "codedValue",
    "name": "PF_COGOAccuracy",
    "description": "Parcel Fabric Accuracy",
    "codedValues": [
     {
      "name": "1 - Highest",
      "code": 1
     },
     {
      "name": "2",
      "code": 2
     },
     {
      "name": "3",
      "code": 3
     },
     {
      "name": "4",
      "code": 4
     },
     {
      "name": "5",
      "code": 5
     },
     {
      "name": "6 - Lowest",
      "code": 6
     },
     {
      "name": "7 - Excluded from LSA",
      "code": 7
     }
    ],
    "mergePolicy": "esriMPTDefaultValue",
    "splitPolicy": "esriSPTDuplicate"
   }
  },
  {
   "name": "Rotation",
   "type": "esriFieldTypeDouble",
   "alias": "Rotation",
   "domain": null
  },
  {
   "name": "Scale",
   "type": "esriFieldTypeDouble",
   "alias": "Scale",
   "domain": null
  },
  {
   "name": "created_user",
   "type": "esriFieldTypeString",
   "alias": "Created By",
   "length": 255,
   "domain": null
  },
  {
   "name": "create_date",
   "type": "esriFieldTypeDate",
   "alias": "Created Date",
   "length": 8,
   "domain": null
  },
  {
   "name": "last_edited_user",
   "type": "esriFieldTypeString",
   "alias": "Modified By",
   "length": 255,
   "domain": null
  },
  {
   "name": "last_edited_date",
   "type": "esriFieldTypeDate",
   "alias": "Modified Date",
   "length": 8,
   "domain": null
  },
  {
   "name": "GlobalID",
   "type": "esriFieldTypeGlobalID",
   "alias": "GlobalID",
   "length": 38,
   "domain": null
  },
  {
   "name": "ParcelID",
   "type": "esriFieldTypeInteger",
   "alias": "ParcelID",
   "domain": null
  },
  {
   "name": "Type",
   "type": "esriFieldTypeInteger",
   "alias": "Type",
   "domain": {
    "type": "codedValue",
    "name": "lrParcelType",
    "description": "descField",
    "codedValues": [
     {
      "name": "PLSS Township",
      "code": 1
     },
     {
      "name": "PLSS Section",
      "code": 2
     },
     {
      "name": "PLSS Quarter Section",
      "code": 3
     },
     {
      "name": "Special Survey",
      "code": 4
     },
     {
      "name": "Simultaneous Conveyance",
      "code": 5
     },
     {
      "name": "Conveyance Division",
      "code": 6
     },
     {
      "name": "Tax",
      "code": 7
     },
     {
      "name": "Ownership",
      "code": 8
     },
     {
      "name": "Encumbrance",
      "code": 9
     },
     {
      "name": "Separated Right",
      "code": 10
     },
     {
      "name": "Other",
      "code": 11
     },
     {
      "name": "PLSS Second Division",
      "code": 12
     }
    ],
    "mergePolicy": "esriMPTDefaultValue",
    "splitPolicy": "esriSPTDuplicate"
   }
  },
  {
   "name": "Category",
   "type": "esriFieldTypeInteger",
   "alias": "Category",
   "domain": {
    "type": "codedValue",
    "name": "lrLineCategory",
    "description": "descField",
    "codedValues": [
     {
      "name": "Boundary Line",
      "code": 0
     },
     {
      "name": "Dependent Line",
      "code": 1
     },
     {
      "name": "Precise Connection (high accuracy)",
      "code": 2
     },
     {
      "name": "Connection",
      "code": 3
     },
     {
      "name": "Radial Line (system generated)",
      "code": 4
     },
     {
      "name": "Road Frontage",
      "code": 5
     },
     {
      "name": "Origin Connection (from CP to parcel)",
      "code": 6
     },
     {
      "name": "Multipart parcel Connector",
      "code": 7
     }
    ],
    "mergePolicy": "esriMPTDefaultValue",
    "splitPolicy": "esriSPTDefaultValue"
   }
  },
  {
   "name": "Delta",
   "type": "esriFieldTypeDouble",
   "alias": "Delta",
   "domain": null
  },
  {
   "name": "Historical",
   "type": "esriFieldTypeInteger",
   "alias": "Historical",
   "domain": null
  },
  {
   "name": "RadialBearing",
   "type": "esriFieldTypeDouble",
   "alias": "RadialBearing",
   "domain": null
  },
  {
   "name": "TangentBearing",
   "type": "esriFieldTypeDouble",
   "alias": "TangentBearing",
   "domain": null
  },
  {
   "name": "Accuracy",
   "type": "esriFieldTypeInteger",
   "alias": "Accuracy",
   "domain": {
    "type": "codedValue",
    "name": "lrAccuracy",
    "description": "descField",
    "codedValues": [
     {
      "name": "1 - Highest",
      "code": 1
     },
     {
      "name": "2 - After 1980",
      "code": 2
     },
     {
      "name": "3 - 1908 to 1980",
      "code": 3
     },
     {
      "name": "4 - 1881 to 1907",
      "code": 4
     },
     {
      "name": "5 - Before 1881",
      "code": 5
     },
     {
      "name": "6 - 1800",
      "code": 6
     },
     {
      "name": "7 - Lowest",
      "code": 7
     }
    ],
    "mergePolicy": "esriMPTDefaultValue",
    "splitPolicy": "esriSPTDuplicate"
   }
  },
  {
   "name": "Hide",
   "type": "esriFieldTypeInteger",
   "alias": "Hide",
   "domain": {
    "type": "codedValue",
    "name": "lrYesNo_2",
    "description": "descField",
    "codedValues": [
     {
      "name": "No",
      "code": 0
     },
     {
      "name": "Yes",
      "code": 1
     }
    ],
    "mergePolicy": "esriMPTDefaultValue",
    "splitPolicy": "esriSPTDuplicate"
   }
  },
  {
   "name": "LegalStartDate",
   "type": "esriFieldTypeDate",
   "alias": "LegalStartDate",
   "length": 8,
   "domain": null
  },
  {
   "name": "LegalEndDate",
   "type": "esriFieldTypeDate",
   "alias": "LegalEndDate",
   "length": 8,
   "domain": null
  },
  {
   "name": "FloorDesignator",
   "type": "esriFieldTypeSmallInteger",
   "alias": "Floor Number",
   "domain": {
    "type": "codedValue",
    "name": "lrFloorDesignator",
    "description": "descField",
    "codedValues": [
     {
      "name": "Min value",
      "code": -10
     },
     {
      "name": "Max value",
      "code": 100
     }
    ],
    "mergePolicy": "esriMPTDefaultValue",
    "splitPolicy": "esriSPTDefaultValue"
   }
  },
  {
   "name": "OriginalFeatureOID",
   "type": "esriFieldTypeInteger",
   "alias": "OriginalFeatureOID",
   "domain": null
  },
  {
   "name": "DirectionAccuracy",
   "type": "esriFieldTypeDouble",
   "alias": "Direction Accuracy",
   "domain": null
  },
  {
   "name": "DistanceAccuracy",
   "type": "esriFieldTypeDouble",
   "alias": "Distance Accuracy",
   "domain": null
  },
  {
   "name": "VALIDATIONSTATUS",
   "type": "esriFieldTypeSmallInteger",
   "alias": "Validation status",
   "domain": {
    "type": "codedValue",
    "name": "Validation Status",
    "description": "The current record's validation status.",
    "codedValues": [
     {
      "name": "No calculation required, no validation required, no error",
      "code": 0
     },
     {
      "name": "No calculation required, no validation required, has error(s)",
      "code": 1
     },
     {
      "name": "No calculation required, validation required, no error",
      "code": 2
     },
     {
      "name": "No calculation required, validation required, has error(s)",
      "code": 3
     },
     {
      "name": "Calculation required, no validation required, no error",
      "code": 4
     },
     {
      "name": "Calculation required, no validation required, has error(s)",
      "code": 5
     },
     {
      "name": "Calculation required, validation required, no error",
      "code": 6
     },
     {
      "name": "Calculation required, validation required, has error(s)",
      "code": 7
     }
    ],
    "mergePolicy": "esriMPTDefaultValue",
    "splitPolicy": "esriSPTDefaultValue"
   }
  },
  {
   "name": "LabelPosition",
   "type": "esriFieldTypeInteger",
   "alias": "Label Position",
   "domain": {
    "type": "codedValue",
    "name": "PF_LabelPosition",
    "description": "Indicates if the label position is to the left or right of the parcel line or is centered over the parcel line",
    "codedValues": [
     {
      "name": "Right",
      "code": 1
     },
     {
      "name": "Left",
      "code": 2
     },
     {
      "name": "Centered",
      "code": 3
     }
    ],
    "mergePolicy": "esriMPTDefaultValue",
    "splitPolicy": "esriSPTDuplicate"
   }
  },
  {
   "name": "Shape.STLength()",
   "type": "esriFieldTypeDouble",
   "alias": "Shape.STLength()",
   "domain": null
  }
 ],
 "geometryField": {},
 "indexes": [
  {
   "name": "UUID_31",
   "fields": "GlobalID",
   "isAscending": true,
   "isUnique": true,
   "description": ""
  },
  {
   "name": "I75RetiredByReco",
   "fields": "RetiredByRecord",
   "isAscending": true,
   "isUnique": false,
   "description": ""
  },
  {
   "name": "G75CreatedByReco",
   "fields": "CreatedByRecord",
   "isAscending": true,
   "isUnique": false,
   "description": ""
  },
  {
   "name": "G75VALIDATIONSTA",
   "fields": "VALIDATIONSTATUS",
   "isAscending": true,
   "isUnique": false,
   "description": ""
  }
 ],
 "subtypes": [],
 "relationships": [],
 "canModifyLayer": true,
 "canScaleSymbols": false,
 "hasLabels": true,
 "capabilities": "Query,Map,Data",
 "maxRecordCount": 2000,
 "maxSelectionCount": 2000,
 "supportsStatistics": true,
 "supportsExceedsLimitStatistics": true,
 "supportsAdvancedQueries": true,
 "hasZ": true,
 "supportedQueryFormats": "JSON, geoJSON, PBF",
 "isDataVersioned": true,
 "ownershipBasedAccessControlForFeatures": {"allowOthersToQuery": true},
 "useStandardizedQueries": true,
 "supportedSpatialRelationships": [
  "esriSpatialRelIntersects",
  "esriSpatialRelContains",
  "esriSpatialRelCrosses",
  "esriSpatialRelEnvelopeIntersects",
  "esriSpatialRelIndexIntersects",
  "esriSpatialRelOverlaps",
  "esriSpatialRelTouches",
  "esriSpatialRelWithin",
  "esriSpatialRelRelation"
 ],
 "advancedQueryCapabilities": {
  "useStandardizedQueries": true,
  "supportsStatistics": true,
  "supportsPercentileStatistics": true,
  "supportsHavingClause": true,
  "supportsOrderBy": true,
  "supportsDistinct": true,
  "supportsCountDistinct": true,
  "supportsAdvancedQueryRelated": true,
  "supportsQueryRelatedPagination": true,
  "supportsPagination": true,
  "supportsLod": false,
  "supportsQueryWithLodSR": false,
  "supportsTrueCurve": true,
  "supportsQueryWithDatumTransformation": true,
  "supportsReturningQueryExtent": true,
  "supportsQueryWithDistance": true,
  "supportsSqlExpression": true,
  "supportsTimeRelation": true,
  "supportsSqlFormat": false,
  "supportsQueryAnalytic": false,
  "supportsCurrentUserQueries": true
 },
 "supportsDatumTransformation": true,
 "dateFieldsTimeReference": null,
 "preferredTimeReference": null,
 "datesInUnknownTimezone": false,
 "hasGeometryProperties": true,
 "geometryProperties": {
  "shapeLengthFieldName": "Shape.STLength()",
  "units": "esriFeet",
  "mapUnits": {"uwkid": 9003}
 },
 "hasMetadata": true,
 "isDataArchived": true,
 "archivingInfo": {
  "supportsQueryWithHistoricMoment": true,
  "startArchivingMoment": 1724428112000
 },
 "supportsCoordinatesQuantization": true,
 "supportsDynamicLegends": true,
 "serviceItemId": "2131a36b986e43cfa26ec63e991a21b1"
}