@kando-env/kando-ui 1.2.278-alpha.46 → 1.2.278-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/lib/Widgets/Map/Map.js +2 -18
  2. package/lib/Widgets/Map/Map.scss +5 -17
  3. package/lib/Widgets/Map/MapUtils.js +11 -13
  4. package/lib/Widgets/Map/areas/AreaPolygon.js +14 -80
  5. package/lib/Widgets/Map/areas/AreaPolygons.js +3 -6
  6. package/lib/Widgets/Map/areas/AreaUtils.js +48 -24
  7. package/lib/Widgets/Map/edges/Edge.js +6 -1
  8. package/lib/Widgets/Map/edges/arrows/Arrows.js +14 -2
  9. package/lib/Widgets/Map/events/EventUtils.js +7 -11
  10. package/lib/Widgets/Map/events/PointOfEvent.js +3 -2
  11. package/lib/Widgets/Map/points/PointMarker.js +25 -77
  12. package/lib/Widgets/Map/points/PointMarkers.js +12 -2
  13. package/lib/Widgets/Map/points/PointUtils.js +33 -18
  14. package/lib/_style-colors.scss +0 -23
  15. package/lib/assets/icons/index.js +8 -22
  16. package/lib/components/CustomInputs/DoubleTabs/styles.js +3 -15
  17. package/lib/components/Header/DoubleTabs/styles.js +2 -2
  18. package/lib/components/Sector/Sector.test.js +1 -35
  19. package/lib/components/Sector/sectorIcons.js +18 -39
  20. package/lib/components/Sector/svgs/Brewing.svg +100 -0
  21. package/lib/components/Sector/svgs/Cowshed.svg +28 -0
  22. package/lib/components/Sector/svgs/Garage.svg +27 -0
  23. package/lib/components/Sector/svgs/Missing.svg +32 -8
  24. package/lib/components/Sector/svgs/Motor Vehicle.svg +21 -0
  25. package/lib/components/Sector/svgs/Polymer.svg +42 -0
  26. package/lib/components/Sector/svgs/Pulp and Paper.svg +26 -0
  27. package/lib/components/Sector/svgs/Seafood.svg +26 -0
  28. package/lib/components/Sector/svgs/barrel.svg +100 -0
  29. package/lib/components/Sector/svgs/beer.svg +14 -8
  30. package/lib/components/Sector/svgs/beverage.svg +15 -10
  31. package/lib/components/Sector/svgs/car-repair.svg +27 -0
  32. package/lib/components/Sector/svgs/car-wash.svg +36 -0
  33. package/lib/components/Sector/svgs/chemistry.svg +17 -3
  34. package/lib/components/Sector/svgs/conductor-manufacturer.svg +20 -3
  35. package/lib/components/Sector/svgs/cosmetic-manufacturer.svg +25 -6
  36. package/lib/components/Sector/svgs/cow.svg +28 -0
  37. package/lib/components/Sector/svgs/cpu.svg +21 -0
  38. package/lib/components/Sector/svgs/dairy.svg +16 -4
  39. package/lib/components/Sector/svgs/dippel-oil.svg +21 -5
  40. package/lib/components/Sector/svgs/food-donation.svg +34 -0
  41. package/lib/components/Sector/svgs/food-factory.svg +20 -5
  42. package/lib/components/Sector/svgs/garbage-truck-1.svg +31 -3
  43. package/lib/components/Sector/svgs/gas-station.svg +22 -3
  44. package/lib/components/Sector/svgs/glass-manufacturer.svg +20 -8
  45. package/lib/components/Sector/svgs/glass.svg +23 -0
  46. package/lib/components/Sector/svgs/hand-washing.svg +17 -9
  47. package/lib/components/Sector/svgs/hospital.svg +27 -6
  48. package/lib/components/Sector/svgs/hotel.svg +22 -8
  49. package/lib/components/Sector/svgs/laundromat.svg +26 -3
  50. package/lib/components/Sector/svgs/leather-factory.svg +16 -0
  51. package/lib/components/Sector/svgs/leather.svg +16 -0
  52. package/lib/components/Sector/svgs/lipstick.svg +26 -0
  53. package/lib/components/Sector/svgs/meat.svg +23 -6
  54. package/lib/components/Sector/svgs/metal-coating-plant.svg +21 -8
  55. package/lib/components/Sector/svgs/metal-facbrication.svg +31 -0
  56. package/lib/components/Sector/svgs/milk.svg +17 -0
  57. package/lib/components/Sector/svgs/oil-rig.svg +15 -3
  58. package/lib/components/Sector/svgs/petrochemical.svg +21 -3
  59. package/lib/components/Sector/svgs/pie.svg +21 -0
  60. package/lib/components/Sector/svgs/pills.svg +22 -0
  61. package/lib/components/Sector/svgs/plant-unkown-3.svg +37 -0
  62. package/lib/components/Sector/svgs/plastic-rubber.svg +35 -0
  63. package/lib/components/Sector/svgs/printer.svg +16 -4
  64. package/lib/components/Sector/svgs/recycling.svg +16 -0
  65. package/lib/components/Sector/svgs/refinery.svg +17 -0
  66. package/lib/components/Sector/svgs/repair.svg +15 -0
  67. package/lib/components/Sector/svgs/sewing-machine.svg +23 -0
  68. package/lib/components/Sector/svgs/shop.svg +27 -0
  69. package/lib/components/Sector/svgs/soda.svg +16 -0
  70. package/lib/components/Sector/svgs/spray-gun.svg +22 -0
  71. package/lib/components/Sector/svgs/washing-machine.svg +27 -0
  72. package/lib/components/Sector/svgs/waste.svg +35 -0
  73. package/lib/components/Sector/svgs/welder-a.svg +31 -0
  74. package/lib/components/Sector/svgs/wine-glass.svg +10 -4
  75. package/lib/hooks/useUserTimeZone.js +2 -6
  76. package/lib/i18n/en.json +1 -12
  77. package/lib/i18n/he.json +0 -25
  78. package/lib/macros/getVersion.js +2 -2
  79. package/lib/pages/DashboardMap/AreaCard.js +7 -44
  80. package/lib/pages/DashboardMap/FactoryCard.js +11 -50
  81. package/lib/pages/DashboardMap/List.js +5 -34
  82. package/lib/pages/DashboardMap/WWTPMap.js +6 -18
  83. package/lib/pages/DashboardMap/Widget.js +122 -175
  84. package/lib/pages/DashboardMap/utils.js +6 -21
  85. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +7 -2
  86. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +12 -25
  87. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +3 -7
  88. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +2 -10
  89. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.scss +16 -15
  90. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +7 -6
  91. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +84 -43
  92. package/lib/pages/SitePage/SamplingParameters/dataParser.js +4 -5
  93. package/lib/pages/WbeDashboard/WbeDashboardPage.js +3 -6
  94. package/lib/pages/WwtpPage/WwtpPage.js +8 -31
  95. package/lib/pages/WwtpPage/WwtpPageContainer.js +17 -8
  96. package/lib/scss/custom.scss +1 -47
  97. package/lib/store/areas/models/IArea.js +1 -1
  98. package/lib/store/points/models/IPoint.js +1 -1
  99. package/lib/styles/theme/theme.js +5 -15
  100. package/lib/ui-kit/ContentCard/ContentCard.js +3 -6
  101. package/lib/ui-kit/InletsPie/InletsPie.js +5 -5
  102. package/lib/ui-kit/OrganicLoad/TextInfo.js +2 -2
  103. package/lib/utilities/scoreToData.js +2 -2
  104. package/package.json +1 -1
  105. package/lib/assets/icons/no-result.svg +0 -20
  106. package/lib/assets/icons/noSamplings.svg +0 -15
  107. package/lib/assets/icons/upgrade.svg +0 -18
  108. package/lib/components/Sector/svgs/bakery.svg +0 -4
  109. package/lib/components/Sector/svgs/carwash.svg +0 -4
  110. package/lib/components/Sector/svgs/cowshed.svg +0 -18
  111. package/lib/components/Sector/svgs/garage.svg +0 -5
  112. package/lib/components/Sector/svgs/mechanical.svg +0 -5
  113. package/lib/components/Sector/svgs/metal-fabrication.svg +0 -7
  114. package/lib/components/Sector/svgs/motor-vehicle.svg +0 -4
  115. package/lib/components/Sector/svgs/pharmaceutical.svg +0 -11
  116. package/lib/components/Sector/svgs/plastic-manufacturer.svg +0 -11
  117. package/lib/components/Sector/svgs/plastic-recycling-factory.svg +0 -4
  118. package/lib/components/Sector/svgs/polymer.svg +0 -4
  119. package/lib/components/Sector/svgs/pulp-and-paper.svg +0 -8
  120. package/lib/components/Sector/svgs/refinement.svg +0 -6
  121. package/lib/components/Sector/svgs/seafood.svg +0 -14
  122. package/lib/components/Sector/svgs/shopping-malls-restaurants.svg +0 -11
  123. package/lib/components/Sector/svgs/textile.svg +0 -8
  124. package/lib/pages/DashboardMap/ListContext.js +0 -39
  125. package/lib/pages/SitePage/SamplingParameters/body/Body.js +0 -39
  126. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +0 -71
  127. package/lib/pages/SitePage/SamplingParameters/body/index.js +0 -11
  128. package/lib/pages/WwtpPage/ContaminateCard.js +0 -18
  129. package/lib/pages/WwtpPage/PredictionCard.js +0 -18
  130. package/lib/pages/WwtpPage/UpgradeBox.js +0 -30
@@ -16,8 +16,7 @@ var AreaPolygons = function AreaPolygons(props) {
16
16
  areas = props.areas,
17
17
  map = props.map,
18
18
  mapZoom = props.mapZoom,
19
- areaToCenterBy = props.areaToCenterBy,
20
- global_data = props.global_data;
19
+ areaToCenterBy = props.areaToCenterBy;
21
20
  var group = [];
22
21
  var _useState = (0, _react.useState)(true),
23
22
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -45,11 +44,9 @@ var AreaPolygons = function AreaPolygons(props) {
45
44
  map: map,
46
45
  L: L,
47
46
  key: area.area_id,
48
- mapZoom: mapZoom,
49
- global_data: global_data,
50
- bindPopup: true
47
+ mapZoom: mapZoom
51
48
  });
52
49
  }));
53
50
  };
54
51
  exports.AreaPolygons = AreaPolygons;
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbnMiLCJwcm9wcyIsIkwiLCJhcmVhcyIsIm1hcCIsIm1hcFpvb20iLCJhcmVhVG9DZW50ZXJCeSIsImdsb2JhbF9kYXRhIiwiZ3JvdXAiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG91bGRGbHkiLCJzZXRTaG91bGRGbHkiLCJ1c2VFZmZlY3QiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZmVhdHVyZUdyb3VwIiwiZ2V0Qm91bmRzIiwicGFkZGluZyIsImludmFsaWRhdGVTaXplIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiYXJlYSIsImFyZWFfaWQiLCJiaW5kUG9wdXAiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2FyZWFzL0FyZWFQb2x5Z29ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBBcmVhUG9seWdvbiBmcm9tICcuL0FyZWFQb2x5Z29uJztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYXM6IElBcmVhW107XG4gIG1hcFpvb206IG51bWJlcjtcbiAgYXJlYVRvQ2VudGVyQnk/OiBhbnk7XG4gIGdsb2JhbF9kYXRhOiBhbnk7XG4gIHBvaW50czogSVBvaW50W107XG59O1xuXG5leHBvcnQgY29uc3QgQXJlYVBvbHlnb25zOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMLCBhcmVhcywgbWFwLCBtYXBab29tLCBhcmVhVG9DZW50ZXJCeSwgZ2xvYmFsX2RhdGEgfSA9IHByb3BzO1xuICBjb25zdCBncm91cDogYW55W10gPSBbXTtcbiAgY29uc3QgW3Nob3VsZEZseSwgc2V0U2hvdWxkRmx5XSA9IHVzZVN0YXRlKHRydWUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNob3VsZEZseSkge1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXAuX2xheWVycykge1xuICAgICAgICBpZiAobWFwLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnKSB7XG4gICAgICAgICAgZ3JvdXAucHVzaChtYXAuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChncm91cC5sZW5ndGggIT09IDAgJiYgIWFyZWFUb0NlbnRlckJ5KSB7XG4gICAgICAgIG1hcC5maXRCb3VuZHMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpLCB7XG4gICAgICAgICAgcGFkZGluZzogWzQyMCwgNDIwXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHNldFNob3VsZEZseShmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIG1hcC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICB9XG4gIH0sIFthcmVhc10pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHthcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgYXJlYXMubWFwKChhcmVhOiBJQXJlYSkgPT4gKFxuICAgICAgICAgIDxBcmVhUG9seWdvblxuICAgICAgICAgICAgYXJlYT17YXJlYX1cbiAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgIGtleT17YXJlYS5hcmVhX2lkfVxuICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbX1cbiAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgIGJpbmRQb3B1cD17dHJ1ZX1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUF3QyxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUwsd0JBQUFTLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENB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
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbnMiLCJwcm9wcyIsIkwiLCJhcmVhcyIsIm1hcCIsIm1hcFpvb20iLCJhcmVhVG9DZW50ZXJCeSIsImdyb3VwIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2hvdWxkRmx5Iiwic2V0U2hvdWxkRmx5IiwidXNlRWZmZWN0IiwicHJvcGVydHkiLCJfbGF5ZXJzIiwia2FuZG9fb2JqZWN0IiwicHVzaCIsImxlbmd0aCIsImZpdEJvdW5kcyIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsInBhZGRpbmciLCJpbnZhbGlkYXRlU2l6ZSIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImFyZWEiLCJhcmVhX2lkIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhUG9seWdvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCBBcmVhUG9seWdvbiBmcm9tICcuL0FyZWFQb2x5Z29uJztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYXM6IElBcmVhW107XG4gIG1hcFpvb206IG51bWJlcjtcbiAgYXJlYVRvQ2VudGVyQnk/OiBhbnk7XG59O1xuXG5leHBvcnQgY29uc3QgQXJlYVBvbHlnb25zOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMLCBhcmVhcywgbWFwLCBtYXBab29tLCBhcmVhVG9DZW50ZXJCeSB9ID0gcHJvcHM7XG4gIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuICBjb25zdCBbc2hvdWxkRmx5LCBzZXRTaG91bGRGbHldID0gdXNlU3RhdGUodHJ1ZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2hvdWxkRmx5KSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcC5fbGF5ZXJzKSB7XG4gICAgICAgIGlmIChtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgICBncm91cC5wdXNoKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGdyb3VwLmxlbmd0aCAhPT0gMCAmJiAhYXJlYVRvQ2VudGVyQnkpIHtcbiAgICAgICAgbWFwLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgICBwYWRkaW5nOiBbNDIwLCA0MjBdLFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0U2hvdWxkRmx5KGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgbWFwLmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgIH1cbiAgfSwgW2FyZWFzXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBhcmVhcy5tYXAoKGFyZWE6IElBcmVhKSA9PiAoXG4gICAgICAgICAgPEFyZWFQb2x5Z29uXG4gICAgICAgICAgICBhcmVhPXthcmVhfVxuICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAga2V5PXthcmVhLmFyZWFfaWR9XG4gICAgICAgICAgICBtYXBab29tPXttYXBab29tfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgIDwvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQXdDLFNBQUFHLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTCx3QkFBQVMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FB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
@@ -4,11 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.zoomControlForArea = exports.getAreaName = exports.genericPolygon = exports.createPolygon = exports.calculatePolygonArea = exports.bindPopupBasedOnZoomLevel = void 0;
7
+ exports.zoomControlForArea = exports.listItemFocusOnClick = exports.getAreaName = exports.genericPolygon = exports.createPolygon = exports.calculatePolygonArea = exports.bindPopupBasedOnZoomLevel = void 0;
8
8
  var _scoreToData = require("../../../utilities/scoreToData");
9
9
  var _theme = require("../../../styles/theme/theme");
10
10
  var _leaflet = _interopRequireDefault(require("leaflet"));
11
- var _utils = require("pages/DashboardMap/utils");
11
+ var _jquery = _interopRequireDefault(require("jquery"));
12
12
  var getAreaName = function getAreaName(area) {
13
13
  var name = area.area_name || area.name;
14
14
  return name;
@@ -129,30 +129,54 @@ var customAttributesForAreaPolygon = function customAttributesForAreaPolygon(are
129
129
  areaPolygon['area_name'] = area.area_name;
130
130
  areaPolygon['calculated_surface'] = area.calculated_surface;
131
131
  };
132
- var createPolygon = function createPolygon(area, mapZoom, LayerGroup, map, popupCreator, handleClick) {
133
- var polygon;
132
+ var createPolygon = function createPolygon(area, mapZoom, LayerGroup, map) {
133
+ var createAsSubArea = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
134
+ var popupCreator = arguments.length > 5 ? arguments[5] : undefined;
134
135
  if (area.shape_data !== null && area.shape_data !== undefined && area.shape_data.length > 0) {
135
- polygon = genericPolygon(area, mapZoom);
136
- if (handleClick !== undefined && handleClick !== null) {
137
- var onClick = function onClick() {
138
- polygon.on('click', function () {
139
- handleClick(polygon.kando_object_id);
140
- var subject = 'Map View - Area clicked';
141
- (0, _utils.sendAnalyticsEvent)(subject, 'map', {
142
- area_id: area.area_id,
143
- area_name: area.area_name
144
- });
145
- });
146
- };
147
- onClick();
136
+ var _area$sub_areas;
137
+ var subAreasCreated = _leaflet.default.layerGroup([]);
138
+ var _polygon;
139
+ if (createAsSubArea || !area.has_parent) {
140
+ _polygon = genericPolygon(area, mapZoom);
141
+ }
142
+ (_area$sub_areas = area.sub_areas) === null || _area$sub_areas === void 0 ? void 0 : _area$sub_areas.forEach(function (subArea) {
143
+ createPolygon(subArea, mapZoom, subAreasCreated, map, true, popupCreator);
144
+ });
145
+ listItemFocusOnClick(_polygon);
146
+ if (createAsSubArea || !area.has_parent) {
147
+ customAttributesForAreaPolygon(_polygon, area);
148
+ !LayerGroup.hasLayer(_polygon) && LayerGroup.addLayer(_polygon).addTo(map);
149
+ _polygon.bringToBack();
150
+ if (subAreasCreated.getLayers().length > 0) {
151
+ subAreasCreated.addTo(map);
152
+ _polygon['sub_areas'] = subAreasCreated;
153
+ }
154
+ zoomControlForArea(_polygon, area, map);
148
155
  }
149
- customAttributesForAreaPolygon(polygon, area);
150
- !LayerGroup.hasLayer(polygon) && LayerGroup.addLayer(polygon).addTo(map);
151
- popupCreator(polygon, area);
152
- zoomControlForArea(polygon, area, map);
153
- return polygon;
156
+ if (popupCreator && (area.sub_areas.length !== 0 || area.total_factories > 0)) popupCreator(_polygon, area);
154
157
  }
155
- return null;
156
158
  };
157
159
  exports.createPolygon = createPolygon;
158
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0RhdGEiLCJyZXF1aXJlIiwiX3RoZW1lIiwiX2xlYWZsZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImV4cG9ydHMiLCJnZW5lcmljUG9seWdvbiIsIm1hcFpvb20iLCJhcmVhUG9seWdvbiIsImxhdGxuZ3MiLCJzaGFwZV9kYXRhIiwibWFwIiwibG9jYXRpb24iLCJsZW5ndGgiLCJjb2xvciIsInNjb3JlVG9Db2xvciIsImFyZWFfc2NvcmUiLCJ0aXRsZSIsInBvbHlnb25UaXRsZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiYmluZFRvb2x0aXAiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2xUaXAiLCJsYXllciIsInVuYmluZFRvb2x0aXAiLCJ1bmRlZmluZWQiLCJiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsIiwiTGF5ZXJHcm91cCIsImFyZ3VtZW50cyIsImdldExheWVycyIsImZvckVhY2giLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsIl9tYXAiLCJwb2x5Z29uTGF5ZXIiLCJsYXllckdyb3VwIiwic2V0U3R5bGUiLCJzdHJva2UiLCJvcGFjaXR5IiwiZ2V0Wm9vbSIsInN1YkFyZWEiLCJhZGRMYXllciIsInJlbW92ZUxheWVyIiwicmVkcmF3Iiwiem9vbUNvbnRyb2xGb3JBcmVhIiwib24iLCJnZXRNYXBCb3VuZHMiLCJnZXRCb3VuZHMiLCJwb2x5Z29uQm91bmRzIiwiaW50ZXJzZWN0cyIsIm1hcEJvdW5kc1BvbHlnb24iLCJnZXRTb3V0aFdlc3QiLCJnZXROb3J0aFdlc3QiLCJnZXROb3J0aEVhc3QiLCJnZXRTb3V0aEVhc3QiLCJtYXBCb3VuZHMiLCJ0b0dlb0pTT04iLCJnZW9tZXRyeSIsImFyZWFTdXJmYWNlIiwiY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uIiwiYXJlYV9pZCIsImNhbGN1bGF0ZWRfc3VyZmFjZSIsImNyZWF0ZVBvbHlnb24iLCJwb3B1cENyZWF0b3IiLCJoYW5kbGVDbGljayIsIm9uQ2xpY2siLCJrYW5kb19vYmplY3RfaWQiLCJzdWJqZWN0Iiwic2VuZEFuYWx5dGljc0V2ZW50IiwiaGFzTGF5ZXIiLCJhZGRUbyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCBMLCB7IFBvbHlnb24gfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNlbmRBbmFseXRpY3NFdmVudCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgZ2V0QXJlYU5hbWUgPSAoYXJlYSkgPT4ge1xuICBsZXQgbmFtZSA9IGFyZWEuYXJlYV9uYW1lIHx8IGFyZWEubmFtZTtcblxuICByZXR1cm4gbmFtZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuXG4gIGNvbnN0IHRpdGxlID0gcG9seWdvblRpdGxlKGFyZWEsIG1hcFpvb20pO1xuXG4gIGFyZWFQb2x5Z29uID0gTC5wb2x5Z29uKGxhdGxuZ3MsIHtcbiAgICBjb2xvcixcbiAgICBmaWxsT3BhY2l0eTogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMC4zIDogMC40LFxuICAgIHdlaWdodDogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMiA6IDAsXG4gIH0pLmJpbmRUb29sdGlwKHRpdGxlLCB7XG4gICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICBwZXJtYW5lbnQ6IG1hcFpvb20gPiAxMixcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcblxuICByZXR1cm4gYXJlYVBvbHlnb247XG59O1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlUG9seWdvbkFyZWEgPSAoY29vcmRpbmF0ZXMpID0+IHtcbiAgbGV0IGFyZWEgPSAwO1xuICBsZXQgbnVtUG9pbnRzID0gY29vcmRpbmF0ZXMubGVuZ3RoO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtUG9pbnRzOyBpKyspIHtcbiAgICBsZXQgeDEgPSBjb29yZGluYXRlc1tpXVswXTtcbiAgICBsZXQgeTEgPSBjb29yZGluYXRlc1tpXVsxXTtcbiAgICBsZXQgeDIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVswXTtcbiAgICBsZXQgeTIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVsxXTtcblxuICAgIGFyZWEgKz0geDEgKiB5MiAtIHgyICogeTE7XG4gIH1cblxuICByZXR1cm4gTWF0aC5hYnMoYXJlYSAvIDIpO1xufTtcblxuY29uc3QgcG9seWdvblRpdGxlID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiYXJlYS10b29sdGlwXCIgc3R5bGU9XCJjb2xvcjoke1xuICAgIHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucHMxXG4gIH07Zm9udC13ZWlnaHQ6NzAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOiAke1xuICAgIG1hcFpvb20gKiAxLjVcbiAgfXB4Oy13ZWJraXQtdGV4dC1zdHJva2U6IDAuOHB4ICNmZmZmZmY7XCI+ICR7Z2V0QXJlYU5hbWUoYXJlYSl9IFxuICAgICAgICA8L2Rpdj5gO1xufTtcblxuY29uc3QgYmluZFRvb2xUaXAgPSAobGF5ZXIsIHRpdGxlLCBwZXJtYW5lbnQsIG1hcFpvb20pID0+IHtcbiAgbGF5ZXIudW5iaW5kVG9vbHRpcCgpO1xuICBsYXllci5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiBwZXJtYW5lbnQgIT09IHVuZGVmaW5lZCA/IHBlcm1hbmVudCA6IG1hcFpvb20gPiAxMSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsID0gKFxuICBMYXllckdyb3VwLFxuICBtYXBab29tLFxuICBhcmVhLFxuICBwZXJtYW5lbnQgPSB1bmRlZmluZWQsXG4pID0+IHtcbiAgY29uc3QgdGl0bGUgPSBwb2x5Z29uVGl0bGUoYXJlYSwgbWFwWm9vbSk7XG5cbiAgaWYgKExheWVyR3JvdXBbJ2thbmRvX29iamVjdCddID09PSB1bmRlZmluZWQpIHtcbiAgICBMYXllckdyb3VwLmdldExheWVycygpLmZvckVhY2goKGxheWVyKSA9PiB7XG4gICAgICBiaW5kVG9vbFRpcChsYXllciwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgYmluZFRvb2xUaXAoTGF5ZXJHcm91cCwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSk7XG4gIH1cbn07XG5cbmNvbnN0IGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwgPSAoXG4gIGFyZWFQb2x5Z29uLFxuICBhcmVhLFxuICBwZXJjZW50YWdlLFxuICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSxcbiAgbWFwLFxuKSA9PiB7XG4gIGNvbnN0IGRyaWxsRG93bkNvbmRpdGlvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcGVyY2VudGFnZSA+PSB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duICYmXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgICAgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBhcmVhUG9seWdvbi5fbWFwICE9PSBudWxsXG4gICAgKTtcbiAgfTtcblxuICBsZXQgcG9seWdvbkxheWVyID0gTC5sYXllckdyb3VwKCk7XG4gIGlmIChkcmlsbERvd25Db25kaXRpb24oKSkge1xuICAgIGFyZWFQb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgIGNvbG9yOiBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKSxcbiAgICAgIHdlaWdodDogMixcbiAgICAgIGZpbGxPcGFjaXR5OiAwLjAsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pO1xuICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWFQb2x5Z29uLl9tYXAuZ2V0Wm9vbSgpLFxuICAgICAgYXJlYSxcbiAgICAgIGZhbHNlLFxuICAgICk7XG5cbiAgICBpZiAoYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIGlmIChzdWJBcmVhLnN1Yl9hcmVhcyAmJiBzdWJBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBtYXAuYWRkTGF5ZXIocG9seWdvbkxheWVyKTtcbiAgICAgICAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgICAgICAgc3ViQXJlYSxcbiAgICAgICAgICAgIHN1YkFyZWEuX21hcC5nZXRab29tKCksXG4gICAgICAgICAgICBzdWJBcmVhLFxuICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHN1YkFyZWEuc2V0U3R5bGUoeyBmaWxsT3BhY2l0eTogMC40IH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbWFwLmFkZExheWVyKGFyZWFQb2x5Z29uKTtcbiAgICBhcmVhUG9seWdvbi5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjQsIHN0cm9rZTogZmFsc2UgfSk7XG4gICAgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYVBvbHlnb24uX21hcC5nZXRab29tKCksXG4gICAgICBhcmVhLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuXG4gICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIHBvbHlnb25MYXllci5hZGRMYXllcihzdWJBcmVhKTtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHN1YkFyZWEpO1xuICAgICAgfSk7XG4gIH1cblxuICBhcmVhUG9seWdvbi5yZWRyYXcoKTtcbn07XG5cbmV4cG9ydCBjb25zdCB6b29tQ29udHJvbEZvckFyZWEgPSAoYXJlYVBvbHlnb24sIGFyZWEsIG1hcCkgPT4ge1xuICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGdldE1hcEJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTtcbiAgICBsZXQgcG9seWdvbkJvdW5kcyA9IGFyZWFQb2x5Z29uLmdldEJvdW5kcygpO1xuICAgIGxldCBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSA9IGdldE1hcEJvdW5kcy5pbnRlcnNlY3RzKHBvbHlnb25Cb3VuZHMpO1xuICAgIGxldCBtYXBCb3VuZHNQb2x5Z29uID0gTC5wb2x5Z29uKFtcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aEVhc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aEVhc3QoKSxcbiAgICBdKTtcblxuICAgIGxldCBtYXBCb3VuZHMgPSBjYWxjdWxhdGVQb2x5Z29uQXJlYShcbiAgICAgIG1hcEJvdW5kc1BvbHlnb24udG9HZW9KU09OKCkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgKTtcblxuICAgIGxldCBhcmVhU3VyZmFjZSA9IGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXTtcbiAgICBjb25zdCB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duID0gMTUuMDtcbiAgICBjb25zdCBwZXJjZW50YWdlID0gKGFyZWFTdXJmYWNlIC8gbWFwQm91bmRzKSAqIDEwMDtcblxuICAgIGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWEsXG4gICAgICBwZXJjZW50YWdlLFxuICAgICAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICAgICAgbWFwLFxuICAgICk7XG4gIH0pO1xufTtcblxuY29uc3QgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uID0gKGFyZWFQb2x5Z29uLCBhcmVhKSA9PiB7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3RfaWQnXSA9IGFyZWEuYXJlYV9pZDtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdCddID0gJ0FyZWEnO1xuICBhcmVhUG9seWdvblsnYXJlYV9uYW1lJ10gPSBhcmVhLmFyZWFfbmFtZTtcbiAgYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddID0gYXJlYS5jYWxjdWxhdGVkX3N1cmZhY2U7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9seWdvbiA9IChcbiAgYXJlYSxcbiAgbWFwWm9vbSxcbiAgTGF5ZXJHcm91cCxcbiAgbWFwLFxuICBwb3B1cENyZWF0b3I/OiAocG9seWdvbiwgYXJlYSkgPT4gdm9pZCxcbiAgaGFuZGxlQ2xpY2s/LFxuKSA9PiB7XG4gIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBwb2x5Z29uID0gZ2VuZXJpY1BvbHlnb24oYXJlYSwgbWFwWm9vbSk7XG5cbiAgICBpZiAoaGFuZGxlQ2xpY2sgIT09IHVuZGVmaW5lZCAmJiBoYW5kbGVDbGljayAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgb25DbGljayA9ICgpID0+IHtcbiAgICAgICAgcG9seWdvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlQ2xpY2socG9seWdvbi5rYW5kb19vYmplY3RfaWQpO1xuXG4gICAgICAgICAgY29uc3Qgc3ViamVjdCA9ICdNYXAgVmlldyAtIEFyZWEgY2xpY2tlZCc7XG4gICAgICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KHN1YmplY3QsICdtYXAnLCB7XG4gICAgICAgICAgICBhcmVhX2lkOiBhcmVhLmFyZWFfaWQsXG4gICAgICAgICAgICBhcmVhX25hbWU6IGFyZWEuYXJlYV9uYW1lLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBvbkNsaWNrKCk7XG4gICAgfVxuICAgIGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbihwb2x5Z29uLCBhcmVhKTtcbiAgICAhTGF5ZXJHcm91cC5oYXNMYXllcihwb2x5Z29uKSAmJiBMYXllckdyb3VwLmFkZExheWVyKHBvbHlnb24pLmFkZFRvKG1hcCk7XG4gICAgcG9wdXBDcmVhdG9yKHBvbHlnb24sIGFyZWEpO1xuICAgIHpvb21Db250cm9sRm9yQXJlYShwb2x5Z29uLCBhcmVhLCBtYXApO1xuICAgIHJldHVybiBwb2x5Z29uO1xuICB9XG4gIHJldHVybiBudWxsO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUVPLElBQU1LLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxJQUFJLEVBQUs7RUFDbkMsSUFBSUMsSUFBSSxHQUFHRCxJQUFJLENBQUNFLFNBQVMsSUFBSUYsSUFBSSxDQUFDQyxJQUFJO0VBRXRDLE9BQU9BLElBQUk7QUFDYixDQUFDO0FBQUNFLE9BQUEsQ0FBQUosV0FBQSxHQUFBQSxXQUFBO0FBRUssSUFBTUssY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJSixJQUFJLEVBQUVLLE9BQU8sRUFBSztFQUMvQyxJQUFJQyxXQUFvQjtFQUN4QixJQUFJQyxPQUFPLEdBQUdQLElBQUksQ0FBQ1EsVUFBVSxDQUFDQyxHQUFHLENBQUMsVUFBQ0MsUUFBYSxFQUFLO0lBQ25ELE9B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
160
+ var listItemFocusOnClick = function listItemFocusOnClick(polygon) {
161
+ polygon.on('click', function (e) {
162
+ setTimeout(function () {
163
+ var elementExistsInList = document.getElementById(polygon.kando_object_id);
164
+ if (!elementExistsInList) return;
165
+ (0, _jquery.default)('.activeCard').removeClass('activeCard');
166
+ (0, _jquery.default)('.noneActiveCard').removeClass('noneActiveCard');
167
+ elementExistsInList.classList.add('activeCard');
168
+ var listItemCards = document.querySelectorAll('.listItemCard');
169
+ var noneActive = Array.from(listItemCards).filter(function (element) {
170
+ return !element.classList.contains('activeCard');
171
+ });
172
+ noneActive.forEach(function (element) {
173
+ element.classList.add('noneActiveCard');
174
+ });
175
+ elementExistsInList.scrollIntoView({
176
+ behavior: 'smooth'
177
+ });
178
+ }, 150);
179
+ });
180
+ };
181
+ exports.listItemFocusOnClick = listItemFocusOnClick;
182
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0RhdGEiLCJyZXF1aXJlIiwiX3RoZW1lIiwiX2xlYWZsZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2pxdWVyeSIsImdldEFyZWFOYW1lIiwiYXJlYSIsIm5hbWUiLCJhcmVhX25hbWUiLCJleHBvcnRzIiwiZ2VuZXJpY1BvbHlnb24iLCJtYXBab29tIiwiYXJlYVBvbHlnb24iLCJsYXRsbmdzIiwic2hhcGVfZGF0YSIsIm1hcCIsImxvY2F0aW9uIiwibGVuZ3RoIiwiY29sb3IiLCJzY29yZVRvQ29sb3IiLCJhcmVhX3Njb3JlIiwidGl0bGUiLCJwb2x5Z29uVGl0bGUiLCJMIiwicG9seWdvbiIsImZpbGxPcGFjaXR5Iiwic2hvd0NvbG9yT25seUluQm9yZGVycyIsIndlaWdodCIsImJpbmRUb29sdGlwIiwiY2xhc3NOYW1lIiwicGVybWFuZW50IiwiZGlyZWN0aW9uIiwiY2FsY3VsYXRlUG9seWdvbkFyZWEiLCJjb29yZGluYXRlcyIsIm51bVBvaW50cyIsImkiLCJ4MSIsInkxIiwieDIiLCJ5MiIsIk1hdGgiLCJhYnMiLCJjb25jYXQiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwicHJpbWFyeSIsInBzMSIsImJpbmRUb29sVGlwIiwibGF5ZXIiLCJ1bmJpbmRUb29sdGlwIiwidW5kZWZpbmVkIiwiYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbCIsIkxheWVyR3JvdXAiLCJhcmd1bWVudHMiLCJnZXRMYXllcnMiLCJmb3JFYWNoIiwiZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCIsInBlcmNlbnRhZ2UiLCJ6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duIiwiaXNQYXJ0aWFsUG9seWdvblZpc2libGUiLCJkcmlsbERvd25Db25kaXRpb24iLCJzdWJfYXJlYXMiLCJfbWFwIiwicG9seWdvbkxheWVyIiwibGF5ZXJHcm91cCIsInNldFN0eWxlIiwic3Ryb2tlIiwib3BhY2l0eSIsImdldFpvb20iLCJzdWJBcmVhIiwiYWRkTGF5ZXIiLCJyZW1vdmVMYXllciIsInJlZHJhdyIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImFyZWFfaWQiLCJjYWxjdWxhdGVkX3N1cmZhY2UiLCJjcmVhdGVQb2x5Z29uIiwiY3JlYXRlQXNTdWJBcmVhIiwicG9wdXBDcmVhdG9yIiwiX2FyZWEkc3ViX2FyZWFzIiwic3ViQXJlYXNDcmVhdGVkIiwiaGFzX3BhcmVudCIsImxpc3RJdGVtRm9jdXNPbkNsaWNrIiwiaGFzTGF5ZXIiLCJhZGRUbyIsImJyaW5nVG9CYWNrIiwidG90YWxfZmFjdG9yaWVzIiwiZSIsInNldFRpbWVvdXQiLCJlbGVtZW50RXhpc3RzSW5MaXN0IiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImthbmRvX29iamVjdF9pZCIsIiQiLCJyZW1vdmVDbGFzcyIsImNsYXNzTGlzdCIsImFkZCIsImxpc3RJdGVtQ2FyZHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwibm9uZUFjdGl2ZSIsIkFycmF5IiwiZnJvbSIsImZpbHRlciIsImVsZW1lbnQiLCJjb250YWlucyIsInNjcm9sbEludG9WaWV3IiwiYmVoYXZpb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjb3JlVG9Db2xvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9zY29yZVRvRGF0YSc7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyBQb2x5Z29uIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5cbmV4cG9ydCBjb25zdCBnZXRBcmVhTmFtZSA9IChhcmVhKSA9PiB7XG4gIGxldCBuYW1lID0gYXJlYS5hcmVhX25hbWUgfHwgYXJlYS5uYW1lO1xuXG4gIHJldHVybiBuYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNQb2x5Z29uID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgbGV0IGFyZWFQb2x5Z29uOiBQb2x5Z29uO1xuICBsZXQgbGF0bG5ncyA9IGFyZWEuc2hhcGVfZGF0YS5tYXAoKGxvY2F0aW9uOiBhbnkpID0+IHtcbiAgICByZXR1cm4gW2xvY2F0aW9uWydsYXQnXSwgbG9jYXRpb25bJ2xuZyddXTtcbiAgfSk7XG5cbiAgaWYgKGxhdGxuZ3MubGVuZ3RoIDwgMSkgcmV0dXJuO1xuXG4gIGxldCBjb2xvciA9IGFyZWEuY29sb3IgPyBhcmVhLmNvbG9yIDogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSk7XG5cbiAgY29uc3QgdGl0bGUgPSBwb2x5Z29uVGl0bGUoYXJlYSwgbWFwWm9vbSk7XG5cbiAgYXJlYVBvbHlnb24gPSBMLnBvbHlnb24obGF0bG5ncywge1xuICAgIGNvbG9yLFxuICAgIGZpbGxPcGFjaXR5OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAwLjMgOiAwLjQsXG4gICAgd2VpZ2h0OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAyIDogMCxcbiAgfSkuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgIHBlcm1hbmVudDogbWFwWm9vbSA+IDEyLFxuICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gIH0pO1xuXG4gIHJldHVybiBhcmVhUG9seWdvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVQb2x5Z29uQXJlYSA9IChjb29yZGluYXRlcykgPT4ge1xuICBsZXQgYXJlYSA9IDA7XG4gIGxldCBudW1Qb2ludHMgPSBjb29yZGluYXRlcy5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1Qb2ludHM7IGkrKykge1xuICAgIGxldCB4MSA9IGNvb3JkaW5hdGVzW2ldWzBdO1xuICAgIGxldCB5MSA9IGNvb3JkaW5hdGVzW2ldWzFdO1xuICAgIGxldCB4MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzBdO1xuICAgIGxldCB5MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzFdO1xuXG4gICAgYXJlYSArPSB4MSAqIHkyIC0geDIgKiB5MTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLmFicyhhcmVhIC8gMik7XG59O1xuXG5jb25zdCBwb2x5Z29uVGl0bGUgPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJhcmVhLXRvb2x0aXBcIiBzdHlsZT1cImNvbG9yOiR7XG4gICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgfTtmb250LXdlaWdodDo3MDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXNpemU6ICR7XG4gICAgbWFwWm9vbSAqIDEuNVxuICB9cHg7LXdlYmtpdC10ZXh0LXN0cm9rZTogMC44cHggI2ZmZmZmZjtcIj4gJHtnZXRBcmVhTmFtZShhcmVhKX0gXG4gICAgICAgIDwvZGl2PmA7XG59O1xuXG5jb25zdCBiaW5kVG9vbFRpcCA9IChsYXllciwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSkgPT4ge1xuICBsYXllci51bmJpbmRUb29sdGlwKCk7XG4gIGxheWVyLmJpbmRUb29sdGlwKHRpdGxlLCB7XG4gICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICBwZXJtYW5lbnQ6IHBlcm1hbmVudCAhPT0gdW5kZWZpbmVkID8gcGVybWFuZW50IDogbWFwWm9vbSA+IDExLFxuICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwgPSAoXG4gIExheWVyR3JvdXAsXG4gIG1hcFpvb20sXG4gIGFyZWEsXG4gIHBlcm1hbmVudCA9IHVuZGVmaW5lZCxcbikgPT4ge1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcblxuICBpZiAoTGF5ZXJHcm91cFsna2FuZG9fb2JqZWN0J10gPT09IHVuZGVmaW5lZCkge1xuICAgIExheWVyR3JvdXAuZ2V0TGF5ZXJzKCkuZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgICAgIGJpbmRUb29sVGlwKGxheWVyLCB0aXRsZSwgcGVybWFuZW50LCBtYXBab29tKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBiaW5kVG9vbFRpcChMYXllckdyb3VwLCB0aXRsZSwgcGVybWFuZW50LCBtYXBab29tKTtcbiAgfVxufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICBtYXAsXG4pID0+IHtcbiAgY29uc3QgZHJpbGxEb3duQ29uZGl0aW9uID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBwZXJjZW50YWdlID49IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gJiZcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlICYmXG4gICAgICBhcmVhLnN1Yl9hcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICAgIGFyZWFQb2x5Z29uLl9tYXAgIT09IG51bGxcbiAgICApO1xuICB9O1xuXG4gIGxldCBwb2x5Z29uTGF5ZXIgPSBMLmxheWVyR3JvdXAoKTtcbiAgaWYgKGRyaWxsRG93bkNvbmRpdGlvbigpKSB7XG4gICAgYXJlYVBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpLFxuICAgICAgd2VpZ2h0OiAyLFxuICAgICAgZmlsbE9wYWNpdHk6IDAuMCxcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSk7XG4gICAgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYVBvbHlnb24uX21hcC5nZXRab29tKCksXG4gICAgICBhcmVhLFxuICAgICAgZmFsc2UsXG4gICAgKTtcblxuICAgIGlmIChhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10gIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddLmdldExheWVycygpLmZvckVhY2goKHN1YkFyZWEpID0+IHtcbiAgICAgICAgaWYgKHN1YkFyZWEuc3ViX2FyZWFzICYmIHN1YkFyZWEuc3ViX2FyZWFzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIG1hcC5hZGRMYXllcihwb2x5Z29uTGF5ZXIpO1xuICAgICAgICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoXG4gICAgICAgICAgICBzdWJBcmVhLFxuICAgICAgICAgICAgc3ViQXJlYS5fbWFwLmdldFpvb20oKSxcbiAgICAgICAgICAgIHN1YkFyZWEsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICk7XG4gICAgICAgICAgc3ViQXJlYS5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjQgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBtYXAuYWRkTGF5ZXIoYXJlYVBvbHlnb24pO1xuICAgIGFyZWFQb2x5Z29uLnNldFN0eWxlKHsgZmlsbE9wYWNpdHk6IDAuNCwgc3Ryb2tlOiBmYWxzZSB9KTtcbiAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgYXJlYVBvbHlnb24sXG4gICAgICBhcmVhUG9seWdvbi5fbWFwLmdldFpvb20oKSxcbiAgICAgIGFyZWEsXG4gICAgICB0cnVlLFxuICAgICk7XG5cbiAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddLmdldExheWVycygpLmZvckVhY2goKHN1YkFyZWEpID0+IHtcbiAgICAgICAgcG9seWdvbkxheWVyLmFkZExheWVyKHN1YkFyZWEpO1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIoc3ViQXJlYSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFyZWFQb2x5Z29uLnJlZHJhdygpO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21Db250cm9sRm9yQXJlYSA9IChhcmVhUG9seWdvbiwgYXJlYSwgbWFwKSA9PiB7XG4gIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgZ2V0TWFwQm91bmRzID0gbWFwLmdldEJvdW5kcygpO1xuICAgIGxldCBwb2x5Z29uQm91bmRzID0gYXJlYVBvbHlnb24uZ2V0Qm91bmRzKCk7XG4gICAgbGV0IGlzUGFydGlhbFBvbHlnb25WaXNpYmxlID0gZ2V0TWFwQm91bmRzLmludGVyc2VjdHMocG9seWdvbkJvdW5kcyk7XG4gICAgbGV0IG1hcEJvdW5kc1BvbHlnb24gPSBMLnBvbHlnb24oW1xuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoRWFzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoRWFzdCgpLFxuICAgIF0pO1xuXG4gICAgbGV0IG1hcEJvdW5kcyA9IGNhbGN1bGF0ZVBvbHlnb25BcmVhKFxuICAgICAgbWFwQm91bmRzUG9seWdvbi50b0dlb0pTT04oKS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSxcbiAgICApO1xuXG4gICAgbGV0IGFyZWFTdXJmYWNlID0gYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddO1xuICAgIGNvbnN0IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gPSAxNS4wO1xuICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSAoYXJlYVN1cmZhY2UgLyBtYXBCb3VuZHMpICogMTAwO1xuXG4gICAgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYSxcbiAgICAgIHBlcmNlbnRhZ2UsXG4gICAgICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gICAgICBtYXAsXG4gICAgKTtcbiAgfSk7XG59O1xuXG5jb25zdCBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24gPSAoYXJlYVBvbHlnb24sIGFyZWEpID0+IHtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdF9pZCddID0gYXJlYS5hcmVhX2lkO1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG4gIGFyZWFQb2x5Z29uWydhcmVhX25hbWUnXSA9IGFyZWEuYXJlYV9uYW1lO1xuICBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ10gPSBhcmVhLmNhbGN1bGF0ZWRfc3VyZmFjZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb2x5Z29uID0gKFxuICBhcmVhLFxuICBtYXBab29tLFxuICBMYXllckdyb3VwLFxuICBtYXAsXG4gIGNyZWF0ZUFzU3ViQXJlYTogYm9vbGVhbiA9IGZhbHNlLFxuICBwb3B1cENyZWF0b3I/OiAocG9seWdvbiwgYXJlYSkgPT4gdm9pZCxcbikgPT4ge1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBsZXQgc3ViQXJlYXNDcmVhdGVkID0gTC5sYXllckdyb3VwKFtdKTtcbiAgICBsZXQgcG9seWdvbjogUG9seWdvbjtcbiAgICBpZiAoY3JlYXRlQXNTdWJBcmVhIHx8ICFhcmVhLmhhc19wYXJlbnQpIHtcbiAgICAgIHBvbHlnb24gPSBnZW5lcmljUG9seWdvbihhcmVhLCBtYXBab29tKTtcbiAgICB9XG5cbiAgICBhcmVhLnN1Yl9hcmVhcz8uZm9yRWFjaCgoc3ViQXJlYSkgPT4ge1xuICAgICAgY3JlYXRlUG9seWdvbihzdWJBcmVhLCBtYXBab29tLCBzdWJBcmVhc0NyZWF0ZWQsIG1hcCwgdHJ1ZSwgcG9wdXBDcmVhdG9yKTtcbiAgICB9KTtcblxuICAgIGxpc3RJdGVtRm9jdXNPbkNsaWNrKHBvbHlnb24pO1xuICAgIGlmIChjcmVhdGVBc1N1YkFyZWEgfHwgIWFyZWEuaGFzX3BhcmVudCkge1xuICAgICAgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uKHBvbHlnb24sIGFyZWEpO1xuICAgICAgIUxheWVyR3JvdXAuaGFzTGF5ZXIocG9seWdvbikgJiYgTGF5ZXJHcm91cC5hZGRMYXllcihwb2x5Z29uKS5hZGRUbyhtYXApO1xuICAgICAgcG9seWdvbi5icmluZ1RvQmFjaygpO1xuICAgICAgaWYgKHN1YkFyZWFzQ3JlYXRlZC5nZXRMYXllcnMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHN1YkFyZWFzQ3JlYXRlZC5hZGRUbyhtYXApO1xuICAgICAgICBwb2x5Z29uWydzdWJfYXJlYXMnXSA9IHN1YkFyZWFzQ3JlYXRlZDtcbiAgICAgIH1cblxuICAgICAgem9vbUNvbnRyb2xGb3JBcmVhKHBvbHlnb24sIGFyZWEsIG1hcCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcG9wdXBDcmVhdG9yICYmXG4gICAgICAoYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwIHx8IGFyZWEudG90YWxfZmFjdG9yaWVzID4gMClcbiAgICApXG4gICAgICBwb3B1cENyZWF0b3IocG9seWdvbiwgYXJlYSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBsaXN0SXRlbUZvY3VzT25DbGljayA9IChwb2x5Z29uKSA9PiB7XG4gIHBvbHlnb24ub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGxldCBlbGVtZW50RXhpc3RzSW5MaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXG4gICAgICAgIHBvbHlnb24ua2FuZG9fb2JqZWN0X2lkLFxuICAgICAgKTtcbiAgICAgIGlmICghZWxlbWVudEV4aXN0c0luTGlzdCkgcmV0dXJuO1xuXG4gICAgICAkKCcuYWN0aXZlQ2FyZCcpLnJlbW92ZUNsYXNzKCdhY3RpdmVDYXJkJyk7XG4gICAgICAkKCcubm9uZUFjdGl2ZUNhcmQnKS5yZW1vdmVDbGFzcygnbm9uZUFjdGl2ZUNhcmQnKTtcbiAgICAgIGVsZW1lbnRFeGlzdHNJbkxpc3QuY2xhc3NMaXN0LmFkZCgnYWN0aXZlQ2FyZCcpO1xuXG4gICAgICBjb25zdCBsaXN0SXRlbUNhcmRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmxpc3RJdGVtQ2FyZCcpO1xuICAgICAgY29uc3Qgbm9uZUFjdGl2ZSA9IEFycmF5LmZyb20obGlzdEl0ZW1DYXJkcykuZmlsdGVyKFxuICAgICAgICAoZWxlbWVudCkgPT4gIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdhY3RpdmVDYXJkJyksXG4gICAgICApO1xuICAgICAgbm9uZUFjdGl2ZS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnbm9uZUFjdGl2ZUNhcmQnKTtcbiAgICAgIH0pO1xuICAgICAgZWxlbWVudEV4aXN0c0luTGlzdC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9LCAxNTApO1xuICB9KTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxZQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFF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
@@ -28,6 +28,10 @@ var Edge = function Edge(_ref) {
28
28
  return data.lat === null || data.lng === null;
29
29
  }) === undefined;
30
30
  };
31
+ // const unmonitoredDescendants = () => {
32
+ // return allowUnmonitoredDescendants ? true : edge.descendants_has_device;
33
+ // };
34
+
31
35
  (0, _react.useEffect)(function () {
32
36
  if (shapeDataExist()) {
33
37
  var latlngs = [];
@@ -42,6 +46,7 @@ var Edge = function Edge(_ref) {
42
46
  });
43
47
  if (points.length === 0) return;
44
48
  if (sourcePoint[0] === undefined || targetPoint[0] === undefined) return;
49
+ if (sourcePoint[0].group.type !== 'Groups::Factory' && sourcePoint[0].has_device === false) return;
45
50
  var polylineBack = L.polyline(latlngs, {
46
51
  color: 'rgb(227,227,227)',
47
52
  weight: 6,
@@ -69,4 +74,4 @@ var Edge = function Edge(_ref) {
69
74
  var connector = (0, _reactRedux.connect)(null);
70
75
  var _default = connector(Edge);
71
76
  exports.default = _default;
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlIiwiX3JlZiIsIkwiLCJtYXAiLCJlZGdlIiwicG9pbnRzIiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInNoYXBlRGF0YUV4aXN0Iiwia2V5cyIsInNoYXBlX2RhdGEiLCJsZW5ndGgiLCJmaW5kIiwiZGF0YSIsImxhdCIsImxuZyIsInVuZGVmaW5lZCIsInVzZUVmZmVjdCIsImxhdGxuZ3MiLCJmb3JFYWNoIiwicHVzaCIsInNvdXJjZVBvaW50IiwiZmlsdGVyIiwicG9pbnQiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJhZGRUbyIsImJpbmRQb3B1cCIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsImRpc3RhbmNlIiwiYnJpbmdUb0Zyb250IiwicG9seWxpbmVGcm9udCIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJjcmVhdGVFbGVtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9lZGdlcy9FZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0ICcuL0VkZ2Uuc2Nzcyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xudHlwZSBQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBlZGdlOiBJRWRnZTtcbiAgcG9pbnRzOiBhbnk7XG4gIGhpZGVFZGdlcz86IGJvb2xlYW47XG4gIHNwZWNpZmljRXZlbnQ/OiBJRXZlbnQ7XG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz86IGJvb2xlYW47XG59O1xuXG5jb25zdCBFZGdlOiBSZWFjdC5GQzxQcm9wcz4gPSAoe1xuICBMLFxuICBtYXAsXG4gIGVkZ2UsXG4gIHBvaW50cyxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyA9IGZhbHNlLFxuICBzcGVjaWZpY0V2ZW50LFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHNoYXBlRGF0YUV4aXN0ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3Qua2V5cyhlZGdlLnNoYXBlX2RhdGEpLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZWRnZS5zaGFwZV9kYXRhLmZpbmQoXG4gICAgICAgIChkYXRhOiBhbnkpID0+IGRhdGEubGF0ID09PSBudWxsIHx8IGRhdGEubG5nID09PSBudWxsLFxuICAgICAgKSA9PT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzaGFwZURhdGFFeGlzdCgpKSB7XG4gICAgICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgICB9KTtcblxuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG4gICAgICBsZXQgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgIGlmIChzb3VyY2VQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8IHRhcmdldFBvaW50WzBdID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICAgIHdlaWdodDogNixcbiAgICAgICAgb3BhY2l0eTogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnRbMF0uZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBwb2ludDogJHt0YXJnZXRQb2ludFswXS5ncm91cC5uYW1lfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuXG4gICAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRWRnZSc7XG5cbiAgICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ3JnYigyOSwyOSwyOSknLFxuICAgICAgICB3ZWlnaHQ6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgICBvcGFjaXR5OiBoaWRlRWRnZXMgPyAwIDogMSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0VkZ2VGcm9udCc7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnQuYnJpbmdUb0Zyb250KCk7XG4gICAgICBpZiAoc3BlY2lmaWNFdmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGdlLCBzcGVjaWZpY0V2ZW50XSk7XG5cbiAgcmV0dXJuIDxkaXY+PC9kaXY+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChudWxsKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFZGdlKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBR0FBLE9BQUE7QUFFQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFBb0UsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFKLHdCQUFBUSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxT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
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlIiwiX3JlZiIsIkwiLCJtYXAiLCJlZGdlIiwicG9pbnRzIiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInNoYXBlRGF0YUV4aXN0Iiwia2V5cyIsInNoYXBlX2RhdGEiLCJsZW5ndGgiLCJmaW5kIiwiZGF0YSIsImxhdCIsImxuZyIsInVuZGVmaW5lZCIsInVzZUVmZmVjdCIsImxhdGxuZ3MiLCJmb3JFYWNoIiwicHVzaCIsInNvdXJjZVBvaW50IiwiZmlsdGVyIiwicG9pbnQiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwiZ3JvdXAiLCJ0eXBlIiwiaGFzX2RldmljZSIsInBvbHlsaW5lQmFjayIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJvcGFjaXR5IiwiYWRkVG8iLCJiaW5kUG9wdXAiLCJjb25jYXQiLCJuYW1lIiwiZGlzdGFuY2UiLCJicmluZ1RvRnJvbnQiLCJwb2x5bGluZUZyb250Iiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsImNyZWF0ZUVsZW1lbnQiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2VkZ2VzL0VkZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgJy4vRWRnZS5zY3NzJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG50eXBlIFByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIGVkZ2U6IElFZGdlO1xuICBwb2ludHM6IGFueTtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgc3BlY2lmaWNFdmVudD86IElFdmVudDtcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEVkZ2U6IFJlYWN0LkZDPFByb3BzPiA9ICh7XG4gIEwsXG4gIG1hcCxcbiAgZWRnZSxcbiAgcG9pbnRzLFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzID0gZmFsc2UsXG4gIHNwZWNpZmljRXZlbnQsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qgc2hhcGVEYXRhRXhpc3QgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIE9iamVjdC5rZXlzKGVkZ2Uuc2hhcGVfZGF0YSkubGVuZ3RoICE9PSAwICYmXG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZmluZChcbiAgICAgICAgKGRhdGE6IGFueSkgPT4gZGF0YS5sYXQgPT09IG51bGwgfHwgZGF0YS5sbmcgPT09IG51bGwsXG4gICAgICApID09PSB1bmRlZmluZWRcbiAgICApO1xuICB9O1xuICAvLyBjb25zdCB1bm1vbml0b3JlZERlc2NlbmRhbnRzID0gKCkgPT4ge1xuICAvLyAgIHJldHVybiBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMgPyB0cnVlIDogZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlO1xuICAvLyB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNoYXBlRGF0YUV4aXN0KCkpIHtcbiAgICAgIGxldCBsYXRsbmdzOiBhbnkgPSBbXTtcbiAgICAgIGVkZ2Uuc2hhcGVfZGF0YS5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgbGF0bG5ncy5wdXNoKFtkYXRhLmxhdCwgZGF0YS5sbmddKTtcbiAgICAgIH0pO1xuXG4gICAgICBsZXQgc291cmNlUG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludCA9IHBvaW50cy5maWx0ZXIoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAocG9pbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgICAgaWYgKHNvdXJjZVBvaW50WzBdID09PSB1bmRlZmluZWQgfHwgdGFyZ2V0UG9pbnRbMF0gPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgaWYgKFxuICAgICAgICBzb3VyY2VQb2ludFswXS5ncm91cC50eXBlICE9PSAnR3JvdXBzOjpGYWN0b3J5JyAmJlxuICAgICAgICBzb3VyY2VQb2ludFswXS5oYXNfZGV2aWNlID09PSBmYWxzZVxuICAgICAgKVxuICAgICAgICByZXR1cm47XG5cbiAgICAgIGxldCBwb2x5bGluZUJhY2s6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ3JnYigyMjcsMjI3LDIyNyknLFxuICAgICAgICB3ZWlnaHQ6IDYsXG4gICAgICAgIG9wYWNpdHk6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgfSkuYWRkVG8obWFwKTtcblxuICAgICAgcG9seWxpbmVCYWNrLmJpbmRQb3B1cChgRWRnZSBJRDogJHtlZGdlLmlkfSw8YnI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50WzBdLmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQgcG9pbnQ6ICR7dGFyZ2V0UG9pbnRbMF0uZ3JvdXAubmFtZX0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzdGFuY2U6ICR7ZWRnZS5kaXN0YW5jZX1gKTtcblxuICAgICAgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3RfaWQnXSA9IGVkZ2UuaWQ7XG4gICAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0VkZ2UnO1xuXG4gICAgICBwb2x5bGluZUJhY2suYnJpbmdUb0Zyb250KCk7XG5cbiAgICAgIGxldCBwb2x5bGluZUZyb250OiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgICAgY29sb3I6ICdyZ2IoMjksMjksMjkpJyxcbiAgICAgICAgd2VpZ2h0OiBoaWRlRWRnZXMgPyAwIDogMSxcbiAgICAgICAgb3BhY2l0eTogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgICBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3RfaWQnXSA9IGVkZ2UuaWQ7XG4gICAgICBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3QnXSA9ICdFZGdlRnJvbnQnO1xuXG4gICAgICBwb2x5bGluZUZyb250LmJyaW5nVG9Gcm9udCgpO1xuICAgICAgaWYgKHNwZWNpZmljRXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRWRnZVBhdGhzKFtwb2x5bGluZUJhY2ssIHBvbHlsaW5lRnJvbnRdKSk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZWRnZSwgc3BlY2lmaWNFdmVudF0pO1xuXG4gIHJldHVybiA8ZGl2PjwvZGl2Pjtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobnVsbCk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRWRnZSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUdBQSxPQUFBO0FBRUEsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBQW9FLFNBQUFLLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBSix3QkFBQVEsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxR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
@@ -9,6 +9,8 @@ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
10
  var _react = require("react");
11
11
  var _edgesMath = require("utilities/edgesMath");
12
+ // import { isCollectorUnmonitored } from '../../events/EventUtils';
13
+
12
14
  var Arrows = function Arrows(_ref) {
13
15
  var map = _ref.map,
14
16
  L = _ref.L,
@@ -23,6 +25,10 @@ var Arrows = function Arrows(_ref) {
23
25
  };
24
26
  (0, _react.useEffect)(function () {
25
27
  var filteredPoints = edges.filter(function (edge) {
28
+ // if (!edge.descendants_has_device) {
29
+ // return false;
30
+ // }
31
+
26
32
  if (validateEdgeShapeData(edge)) {
27
33
  var _iterator = (0, _createForOfIteratorHelper2.default)(edge.shape_data),
28
34
  _step;
@@ -47,7 +53,13 @@ var Arrows = function Arrows(_ref) {
47
53
  var targetPoint = points.filter(function (point) {
48
54
  return point.id === edge.target_point_id;
49
55
  });
50
- if (sourcePoint[0] === undefined || targetPoint[0] === undefined || points.length === 0) return [];
56
+ if (sourcePoint[0] === undefined || targetPoint[0] === undefined || points.length === 0 || sourcePoint[0].group.type !== 'Groups::Factory' && sourcePoint[0].has_device === false) return [];
57
+ // if (
58
+ // isCollectorUnmonitored(sourcePoint[0]) ||
59
+ // isCollectorUnmonitored(targetPoint[0])
60
+ // )
61
+ // return [];
62
+
51
63
  if (validateEdgeShapeData(edge)) {
52
64
  return edge.shape_data.map(function (point) {
53
65
  return [point.lat, point.lng];
@@ -72,4 +84,4 @@ var Arrows = function Arrows(_ref) {
72
84
  return null;
73
85
  };
74
86
  exports.Arrows = Arrows;
75
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2VkZ2VzTWF0aCIsIkFycm93cyIsIl9yZWYiLCJtYXAiLCJMIiwiZWRnZXMiLCJwb2ludHMiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkZWZhdWx0IiwiYXJyb3dzR3JvdXAiLCJzZXRBcnJvd3NHcm91cCIsInZhbGlkYXRlRWRnZVNoYXBlRGF0YSIsImVkZ2UiLCJPYmplY3QiLCJrZXlzIiwic2hhcGVfZGF0YSIsImxlbmd0aCIsInVzZUVmZmVjdCIsImZpbHRlcmVkUG9pbnRzIiwiZmlsdGVyIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJwb2ludCIsInZhbHVlIiwiaXNOYU4iLCJsbmciLCJsYXQiLCJlcnIiLCJlIiwiZiIsInNvdXJjZVBvaW50IiwiaWQiLCJzb3VyY2VfcG9pbnRfaWQiLCJ0YXJnZXRQb2ludCIsInRhcmdldF9wb2ludF9pZCIsInVuZGVmaW5lZCIsImFycm93c0FyciIsImdldEFycm93cyIsInJlZHVjZSIsImFjYyIsInZhbCIsImNvbmNhdCIsIm5ld0Fycm93c0dyb3VwIiwiZmVhdHVyZUdyb3VwIiwiYWRkVG8iLCJicmluZ1RvRnJvbnQiLCJjbGVhckxheWVycyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZWRnZXMvYXJyb3dzL0Fycm93cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmVhdHVyZUdyb3VwLCBNYXAgYXMgTGVhZmxldE1hcCwgTWFya2VyIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBnZXRBcnJvd3MgfSBmcm9tICdzcmMvdXRpbGl0aWVzL2VkZ2VzTWF0aCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5cbmludGVyZmFjZSBBcnJvd3NQcm9wcyB7XG4gIG1hcDogTGVhZmxldE1hcDtcbiAgTDogYW55O1xuICBlZGdlczogSUVkZ2VbXTtcbiAgcG9pbnRzOiBJUG9pbnRbXTtcbn1cbmV4cG9ydCBjb25zdCBBcnJvd3M6IFJlYWN0LkZDPEFycm93c1Byb3BzPiA9ICh7IG1hcCwgTCwgZWRnZXMsIHBvaW50cyB9KSA9PiB7XG4gIGNvbnN0IFthcnJvd3NHcm91cCwgc2V0QXJyb3dzR3JvdXBdID0gdXNlU3RhdGU8RmVhdHVyZUdyb3VwPigpO1xuICBjb25zdCB2YWxpZGF0ZUVkZ2VTaGFwZURhdGEgPSAoZWRnZSkgPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhlZGdlLnNoYXBlX2RhdGEpLmxlbmd0aCAhPT0gMDtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcmVkUG9pbnRzOiBBcnJheTxbbnVtYmVyLCBudW1iZXJdPiA9IGVkZ2VzXG4gICAgICAuZmlsdGVyKChlZGdlKSA9PiB7XG4gICAgICAgIGlmICh2YWxpZGF0ZUVkZ2VTaGFwZURhdGEoZWRnZSkpIHtcbiAgICAgICAgICBmb3IgKGxldCBwb2ludCBvZiBlZGdlLnNoYXBlX2RhdGEpIHtcbiAgICAgICAgICAgIGlmIChpc05hTihwb2ludC5sbmcpIHx8IGlzTmFOKHBvaW50LmxhdCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSlcbiAgICAgIC5tYXAoKGVkZ2UpID0+IHtcbiAgICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNvdXJjZVBvaW50WzBdID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICB0YXJnZXRQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgcG9pbnRzLmxlbmd0aCA9PT0gMFxuICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIFtdO1xuXG4gICAgICAgIGlmICh2YWxpZGF0ZUVkZ2VTaGFwZURhdGEoZWRnZSkpIHtcbiAgICAgICAgICByZXR1cm4gZWRnZS5zaGFwZV9kYXRhLm1hcCgocG9pbnQpID0+IFtwb2ludC5sYXQsIHBvaW50LmxuZ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBhcnJvd3NBcnI6IE1hcmtlcltdID0gZmlsdGVyZWRQb2ludHNcbiAgICAgIC5tYXAoKGVkZ2UpID0+IHtcbiAgICAgICAgcmV0dXJuIGdldEFycm93cyhlZGdlLCAnIzFkMWQxZCcsIDIsIG1hcCk7XG4gICAgICB9KVxuICAgICAgLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYy5jb25jYXQodmFsKSwgW10pO1xuXG4gICAgY29uc3QgbmV3QXJyb3dzR3JvdXA6IEZlYXR1cmVHcm91cCA9IEwuZmVhdHVyZUdyb3VwKGFycm93c0FycikuYWRkVG8obWFwKTtcbiAgICBuZXdBcnJvd3NHcm91cC5icmluZ1RvRnJvbnQoKTtcblxuICAgIHNldEFycm93c0dyb3VwKGFycm93c0dyb3VwKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoYXJyb3dzR3JvdXA/LmNsZWFyTGF5ZXJzKSB7XG4gICAgICAgIGFycm93c0dyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2VkZ2VzXSk7XG4gIHJldHVybiBudWxsO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBU08sSUFBTUUsTUFBNkIsR0FBRyxTQUFoQ0EsTUFBNkJBLENBQUFDLElBQUEsRUFBa0M7RUFBQSxJQUE1QkMsR0FBRyxHQUFBRCxJQUFBLENBQUhDLEdBQUc7SUFBRUMsQ0FBQyxHQUFBRixJQUFBLENBQURFLENBQUM7SUFBRUMsS0FBSyxHQUFBSCxJQUFBLENBQUxHLEtBQUs7SUFBRUMsTUFBTSxHQUFBSixJQUFBLENBQU5JLE1BQU07RUFDbkUsSUFBQUMsU0FBQSxHQUFzQyxJQUFBQyxlQUFRLEVBQWUsQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsQ0FBQUMsT0FBQSxFQUFBSixTQUFBO0lBQXZESyxXQUFXLEdBQUFILFVBQUE7SUFBRUksY0FBYyxHQUFBSixVQUFBO0VBQ2xDLElBQU1LLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUlDLElBQUksRUFBSztJQUN0QyxPQUFPQyxNQUFNLENBQUNDLElBQUksQ0FBQ0YsSUFBSSxDQUFDRyxVQUFVLENBQUMsQ0FBQ0MsTUFBTSxLQUFLLENBQUM7RUFDbEQsQ0FBQztFQUVELElBQUFDLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQU1DLGNBQXVDLEdBQUdoQixLQUFLLENBQ2xEaUIsTUFBTSxDQUFDLFVBQUNQLElBQUksRUFBSztNQUNoQixJQUFJRCxxQkFBcUIsQ0FBQ0MsSUFBSSxDQUFDLEVBQUU7UUFBQSxJQUFBUSxTQUFBLE9BQUFDLDJCQUFBLENBQUFiLE9BQUEsRUFDYkksSUFBSSxDQUFDRyxVQUFVO1VBQUFPLEtBQUE7UUFBQTtVQUFqQyxLQUFBRixTQUFBLENBQUFHLENBQUEsTUFBQUQsS0FBQSxH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
87
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2VkZ2VzTWF0aCIsIkFycm93cyIsIl9yZWYiLCJtYXAiLCJMIiwiZWRnZXMiLCJwb2ludHMiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkZWZhdWx0IiwiYXJyb3dzR3JvdXAiLCJzZXRBcnJvd3NHcm91cCIsInZhbGlkYXRlRWRnZVNoYXBlRGF0YSIsImVkZ2UiLCJPYmplY3QiLCJrZXlzIiwic2hhcGVfZGF0YSIsImxlbmd0aCIsInVzZUVmZmVjdCIsImZpbHRlcmVkUG9pbnRzIiwiZmlsdGVyIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJwb2ludCIsInZhbHVlIiwiaXNOYU4iLCJsbmciLCJsYXQiLCJlcnIiLCJlIiwiZiIsInNvdXJjZVBvaW50IiwiaWQiLCJzb3VyY2VfcG9pbnRfaWQiLCJ0YXJnZXRQb2ludCIsInRhcmdldF9wb2ludF9pZCIsInVuZGVmaW5lZCIsImdyb3VwIiwidHlwZSIsImhhc19kZXZpY2UiLCJhcnJvd3NBcnIiLCJnZXRBcnJvd3MiLCJyZWR1Y2UiLCJhY2MiLCJ2YWwiLCJjb25jYXQiLCJuZXdBcnJvd3NHcm91cCIsImZlYXR1cmVHcm91cCIsImFkZFRvIiwiYnJpbmdUb0Zyb250IiwiY2xlYXJMYXllcnMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2VkZ2VzL2Fycm93cy9BcnJvd3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmVHcm91cCwgTWFwIGFzIExlYWZsZXRNYXAsIE1hcmtlciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgZ2V0QXJyb3dzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9lZGdlc01hdGgnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuLy8gaW1wb3J0IHsgaXNDb2xsZWN0b3JVbm1vbml0b3JlZCB9IGZyb20gJy4uLy4uL2V2ZW50cy9FdmVudFV0aWxzJztcblxuaW50ZXJmYWNlIEFycm93c1Byb3BzIHtcbiAgbWFwOiBMZWFmbGV0TWFwO1xuICBMOiBhbnk7XG4gIGVkZ2VzOiBJRWRnZVtdO1xuICBwb2ludHM6IElQb2ludFtdO1xufVxuZXhwb3J0IGNvbnN0IEFycm93czogUmVhY3QuRkM8QXJyb3dzUHJvcHM+ID0gKHsgbWFwLCBMLCBlZGdlcywgcG9pbnRzIH0pID0+IHtcbiAgY29uc3QgW2Fycm93c0dyb3VwLCBzZXRBcnJvd3NHcm91cF0gPSB1c2VTdGF0ZTxGZWF0dXJlR3JvdXA+KCk7XG4gIGNvbnN0IHZhbGlkYXRlRWRnZVNoYXBlRGF0YSA9IChlZGdlKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVkZ2Uuc2hhcGVfZGF0YSkubGVuZ3RoICE9PSAwO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyZWRQb2ludHM6IEFycmF5PFtudW1iZXIsIG51bWJlcl0+ID0gZWRnZXNcbiAgICAgIC5maWx0ZXIoKGVkZ2UpID0+IHtcbiAgICAgICAgLy8gaWYgKCFlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UpIHtcbiAgICAgICAgLy8gICByZXR1cm4gZmFsc2U7XG4gICAgICAgIC8vIH1cblxuICAgICAgICBpZiAodmFsaWRhdGVFZGdlU2hhcGVEYXRhKGVkZ2UpKSB7XG4gICAgICAgICAgZm9yIChsZXQgcG9pbnQgb2YgZWRnZS5zaGFwZV9kYXRhKSB7XG4gICAgICAgICAgICBpZiAoaXNOYU4ocG9pbnQubG5nKSB8fCBpc05hTihwb2ludC5sYXQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAubWFwKChlZGdlKSA9PiB7XG4gICAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maWx0ZXIoXG4gICAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgbGV0IHRhcmdldFBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBzb3VyY2VQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgdGFyZ2V0UG9pbnRbMF0gPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgIHBvaW50cy5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICAoc291cmNlUG9pbnRbMF0uZ3JvdXAudHlwZSAhPT0gJ0dyb3Vwczo6RmFjdG9yeScgJiZcbiAgICAgICAgICAgIHNvdXJjZVBvaW50WzBdLmhhc19kZXZpY2UgPT09IGZhbHNlKVxuICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAvLyBpZiAoXG4gICAgICAgIC8vICAgaXNDb2xsZWN0b3JVbm1vbml0b3JlZChzb3VyY2VQb2ludFswXSkgfHxcbiAgICAgICAgLy8gICBpc0NvbGxlY3RvclVubW9uaXRvcmVkKHRhcmdldFBvaW50WzBdKVxuICAgICAgICAvLyApXG4gICAgICAgIC8vICAgcmV0dXJuIFtdO1xuXG4gICAgICAgIGlmICh2YWxpZGF0ZUVkZ2VTaGFwZURhdGEoZWRnZSkpIHtcbiAgICAgICAgICByZXR1cm4gZWRnZS5zaGFwZV9kYXRhLm1hcCgocG9pbnQpID0+IFtwb2ludC5sYXQsIHBvaW50LmxuZ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBhcnJvd3NBcnI6IE1hcmtlcltdID0gZmlsdGVyZWRQb2ludHNcbiAgICAgIC5tYXAoKGVkZ2UpID0+IHtcbiAgICAgICAgcmV0dXJuIGdldEFycm93cyhlZGdlLCAnIzFkMWQxZCcsIDIsIG1hcCk7XG4gICAgICB9KVxuICAgICAgLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYy5jb25jYXQodmFsKSwgW10pO1xuXG4gICAgY29uc3QgbmV3QXJyb3dzR3JvdXA6IEZlYXR1cmVHcm91cCA9IEwuZmVhdHVyZUdyb3VwKGFycm93c0FycikuYWRkVG8obWFwKTtcbiAgICBuZXdBcnJvd3NHcm91cC5icmluZ1RvRnJvbnQoKTtcblxuICAgIHNldEFycm93c0dyb3VwKGFycm93c0dyb3VwKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoYXJyb3dzR3JvdXA/LmNsZWFyTGF5ZXJzKSB7XG4gICAgICAgIGFycm93c0dyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2VkZ2VzXSk7XG4gIHJldHVybiBudWxsO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRUE7O0FBUU8sSUFBTUUsTUFBNkIsR0FBRyxTQUFoQ0EsTUFBNkJBLENBQUFDLElBQUEsRUFBa0M7RUFBQSxJQUE1QkMsR0FBRyxHQUFBRCxJQUFBLENBQUhDLEdBQUc7SUFBRUMsQ0FBQyxHQUFBRixJQUFBLENBQURFLENBQUM7SUFBRUMsS0FBSyxHQUFBSCxJQUFBLENBQUxHLEtBQUs7SUFBRUMsTUFBTSxHQUFBSixJQUFBLENBQU5JLE1BQU07RUFDbkUsSUFBQUMsU0FBQSxHQUFzQyxJQUFBQyxlQUFRLEVBQWUsQ0FBQztJ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
@@ -182,10 +182,7 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, laye
182
182
  if (sourcePoint !== undefined && targetPoint !== undefined) {
183
183
  polylineBack.bindPopup("Edge ID: ".concat(edge.id, ",<br>\n Source point: ").concat(sourcePoint.group.name, ",<br>\n Target point: ").concat(targetPoint.group.name, ",\n Distance: ").concat(edge.distance));
184
184
  }
185
- createPointLogic(sourcePoint, map, layerGroup);
186
- if (edges[edges.length - 1].target_point_id === edge.target_point_id) {
187
- createPointLogic(targetPoint, map, layerGroup);
188
- }
185
+ createPointLogic(sourcePoint, targetPoint, map, layerGroup);
189
186
  }
190
187
  });
191
188
  };
@@ -227,11 +224,10 @@ var isCollectorUnmonitored = function isCollectorUnmonitored(point) {
227
224
  return pointIsCollector(point) && !point.has_device;
228
225
  };
229
226
  exports.isCollectorUnmonitored = isCollectorUnmonitored;
230
- var createPointLogic = function createPointLogic(point, map, layerGroup) {
231
- // if (isCollectorUnmonitored(point)) {
232
- // return;
233
- // }
234
-
235
- (0, _PointUtils.createBubblePoint)([point.latitude, point.longitude], point, map, null, layerGroup);
227
+ var createPointLogic = function createPointLogic(sourcePoint, targetPoint, map, layerGroup) {
228
+ if (sourcePoint || targetPoint || pointIsWWTP(sourcePoint) || pointIsWWTP(targetPoint)) {
229
+ if (isCollectorUnmonitored(sourcePoint) || isCollectorUnmonitored(targetPoint)) return;
230
+ (0, _PointUtils.createBubblePoint)([sourcePoint.latitude, sourcePoint.longitude], sourcePoint || targetPoint, map, null, layerGroup);
231
+ }
236
232
  };
237
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3doaXRlUG9pbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJfUG9pbnRVdGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiZHJhd01hbmhvbGVJY29uIiwic291cmNlUG9pbnQiLCJtYXAiLCJwb2ludEljb24iLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiY29uY2F0IiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImV4cG9ydHMiLCJnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCIsImVkZ2VzIiwiZXZlbnQiLCJwYXRoIiwidW5kZWZpbmVkIiwiZmluZCIsImVkZ2UiLCJlZGdlX2lkIiwiZmluZEVkZ2VzIiwibmV4dFVwc3RyZWFtTGV2ZWxJZHMiLCJmaWx0ZXIiLCJpbmNsdWRlcyIsInRhcmdldF9wb2ludF9pZCIsInJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoIiwibmV4dExldmVsIiwibWFwQWxsRWRnZXNOZXN0aW5nIiwiYWxsVXBzdHJlYW1FZGdlcyIsInNvdXJjZV9wb2ludF9pZCIsImxlbmd0aCIsInB1c2giLCJtYXBwZWQiLCJmb3JFYWNoIiwiZ2V0VXBzdHJlYW1FZGdlcyIsImZpcnN0RWRnZSIsImZpcnN0VXBzdHJlYW1MZXZlbCIsImZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3IiwidXBzdHJlYW1FZGdlcyIsImVkZ2VzVG9EcmF3IiwicG9pbnRzIiwidXBzdHJlYW1FZGdlIiwicG9pbnQiLCJjb25uZWN0aW9uRWRnZXMiLCJmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3IiwiZG93bnN0cmVhbU5ldHdvcmsiLCJyZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoIiwiZG93blN0cmVhbUVkZ2UiLCJsYXN0RG93blN0cmVhbUVkZ2UiLCJuZXh0TGV2ZWxEb3duU3RyZWFtIiwiZmluZEVkZ2VzRnJvbUV2ZW50UGF0aFRvRHJhdyIsInBhcnQiLCJtYXRjaGVkUGFydCIsImRyYXdOZXR3b3JrIiwiZGlzcGF0Y2giLCJsYXllckdyb3VwIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJkYXRhIiwibGF0IiwibG5nIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJ0YWlsRGFzaCIsIlN5bWJvbCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsImFkZExheWVyIiwiaG92ZXJlZCIsImZvY3VzZWQiLCJicmluZ1RvRnJvbnQiLCJwb2x5bGluZUZyb250Iiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsInBvaW50RmluZGVyIiwidGFyZ2V0UG9pbnQiLCJiaW5kUG9wdXAiLCJkaXN0YW5jZSIsImNyZWF0ZVBvaW50TG9naWMiLCJkZXNpcmVkUG9pbnRJZCIsImRlc2lyZWRQb2ludCIsImZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMiLCJwb2ludElzT2JzZXJ2YXRpb24iLCJvYnNlcnZhdGlvbnMiLCJvYnMiLCJwb2ludF9pZCIsInBvaW50SXNXV1RQIiwidHlwZSIsInBvaW50SXNDb2xsZWN0b3IiLCJpc0NvbGxlY3RvclVubW9uaXRvcmVkIiwiaGFzX2RldmljZSIsImNyZWF0ZUJ1YmJsZVBvaW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlQnViYmxlUG9pbnQgfSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgaWYgKGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoW25leHRMZXZlbF0pO1xuICB9IGVsc2Uge1xuICAgIGFsbFVwc3RyZWFtRWRnZXMucHVzaChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSk7XG4gICAgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2goXG4gICAgICBmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSxcbiAgICAgIGVkZ2VzLFxuICAgICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbn07XG5cbmNvbnN0IG1hcEFsbEVkZ2VzTmVzdGluZyA9IChhbGxVcHN0cmVhbUVkZ2VzKSA9PiB7XG4gIGxldCBtYXBwZWQ6IGFueVtdID0gW107XG4gIGFsbFVwc3RyZWFtRWRnZXMuZm9yRWFjaCgoZWRnZXMpID0+IHtcbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBtYXBwZWQucHVzaChlZGdlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1hcHBlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVcHN0cmVhbUVkZ2VzID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIGxldCBhbGxVcHN0cmVhbUVkZ2VzOiBhbnlbXSA9IFtdO1xuICBsZXQgZmlyc3RVcHN0cmVhbUxldmVsOiBJRWRnZVtdID0gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnRhcmdldF9wb2ludF9pZCA9PT0gZmlyc3RFZGdlIS5zb3VyY2VfcG9pbnRfaWQsXG4gICk7XG5cbiAgcmV0dXJuIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgIGZpcnN0VXBzdHJlYW1MZXZlbCxcbiAgICBlZGdlcyxcbiAgICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyA9IChcbiAgdXBzdHJlYW1FZGdlczogSUVkZ2VbXSxcbiAgZWRnZXNUb0RyYXc6IElFZGdlW10sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuKSA9PiB7XG4gIHVwc3RyZWFtRWRnZXMuZm9yRWFjaCgodXBzdHJlYW1FZGdlKSA9PiB7XG4gICAgaWYgKHVwc3RyZWFtRWRnZSkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHVwc3RyZWFtRWRnZSEuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBlZGdlc1RvRHJhdy5wdXNoKHVwc3RyZWFtRWRnZSk7XG5cbiAgICAgIGxldCBjb25uZWN0aW9uRWRnZXMgPSBlZGdlcy5maWx0ZXIoXG4gICAgICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gdXBzdHJlYW1FZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChjb25uZWN0aW9uRWRnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIGNvbm5lY3Rpb25FZGdlcy5mb3JFYWNoKChlZGdlKSA9PiBlZGdlc1RvRHJhdy5wdXNoKGVkZ2UpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBlZGdlc1RvRHJhdztcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3ID0gKFxuICBmaXJzdEVkZ2U6IElFZGdlLFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZG93bnN0cmVhbU5ldHdvcmssXG4gIGVkZ2VzVG9EcmF3LFxuKSA9PiB7XG4gIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKS5mb3JFYWNoKFxuICAgIChkb3duU3RyZWFtRWRnZSkgPT4ge1xuICAgICAgZWRnZXNUb0RyYXcucHVzaChkb3duU3RyZWFtRWRnZSk7XG4gICAgfSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoID0gKFxuICBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgbGV0IGxhc3REb3duU3RyZWFtRWRnZSA9IGRvd25zdHJlYW1OZXR3b3JrW2Rvd25zdHJlYW1OZXR3b3JrLmxlbmd0aCAtIDFdO1xuXG4gIGlmIChuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbiAgfSBlbHNlIHtcbiAgICBuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGRvd25zdHJlYW1OZXR3b3JrLnB1c2goZWRnZSk7XG4gICAgICByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoKGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlcyk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZG93bnN0cmVhbU5ldHdvcms7XG59O1xuXG5leHBvcnQgY29uc3QgbmV4dExldmVsRG93blN0cmVhbSA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gZmlyc3RFZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3ID0gKFxuICBlZGdlc1RvRHJhdzogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgbGV0IG1hdGNoZWRQYXJ0ID0gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGFydC5lZGdlX2lkKTtcbiAgICBpZiAobWF0Y2hlZFBhcnQgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChtYXRjaGVkUGFydCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdOZXR3b3JrID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbiAgZXZlbnQsXG4gIGxheWVyR3JvdXAsXG4pID0+IHtcbiAgbGV0IGxhdGxuZ3M6IGFueSA9IFtdO1xuICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgZWRnZS5zaGFwZV9kYXRhLmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKFtkYXRhLmxhdCwgZGF0YS5sbmddKTtcbiAgICB9KTtcblxuICAgIGxldCBwb2x5bGluZUJhY2s6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjI3LDIyNywyMjcpJyxcbiAgICAgIHdlaWdodDogNixcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSk7XG5cbiAgICBsZXQgdGFpbERhc2g6IGFueTtcblxuICAgIGlmIChMLlN5bWJvbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0YWlsRGFzaCA9IEwucG9seWxpbmVEZWNvcmF0b3IocG9seWxpbmVCYWNrLl9sYXRsbmdzLCB7XG4gICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgICByZXBlYXQ6IDI1LFxuICAgICAgICAgICAgc3ltYm9sOiBMLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMCwwLDApJyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcbiAgICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIodGFpbERhc2gpO1xuICAgIH1cblxuICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlJztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdGb2N1c2VkRWRnZSc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUJhY2spO1xuICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkgdGFpbERhc2guYnJpbmdUb0Zyb250KCk7XG5cbiAgICBsZXQgcG9seWxpbmVGcm9udDogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyOSwyOSwyOSknLFxuICAgICAgd2VpZ2h0OiAxLFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KTtcblxuICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2VGcm9udCc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlRnJvbnQnO1xuICAgIGlmIChtYXAgIT09IG51bGwpIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9seWxpbmVGcm9udCk7XG4gICAgcG9seWxpbmVCYWNrLmFkZFRvKG1hcCk7XG4gICAgcG9seWxpbmVGcm9udC5hZGRUbyhtYXApO1xuXG4gICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZClcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICBsYXRsbmdzID0gW107XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50OiBJUG9pbnQgPSBwb2ludEZpbmRlcihwb2ludHMsIGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludDogSVBvaW50ID0gcG9pbnRGaW5kZXIocG9pbnRzLCBlZGdlLnRhcmdldF9wb2ludF9pZCk7XG4gICAgICBpZiAoc291cmNlUG9pbnQgIT09IHVuZGVmaW5lZCAmJiB0YXJnZXRQb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBvbHlsaW5lQmFjay5iaW5kUG9wdXAoYEVkZ2UgSUQ6ICR7ZWRnZS5pZH0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnQuZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQgcG9pbnQ6ICR7dGFyZ2V0UG9pbnQuZ3JvdXAubmFtZX0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3RhbmNlOiAke2VkZ2UuZGlzdGFuY2V9YCk7XG4gICAgICB9XG4gICAgICBjcmVhdGVQb2ludExvZ2ljKHNvdXJjZVBvaW50LCBtYXAsIGxheWVyR3JvdXApO1xuICAgICAgaWYgKGVkZ2VzW2VkZ2VzLmxlbmd0aCAtIDFdLnRhcmdldF9wb2ludF9pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQpIHtcbiAgICAgICAgY3JlYXRlUG9pbnRMb2dpYyh0YXJnZXRQb2ludCwgbWFwLCBsYXllckdyb3VwKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufTtcblxuY29uc3QgcG9pbnRGaW5kZXIgPSAocG9pbnRzLCBkZXNpcmVkUG9pbnRJZCkgPT4ge1xuICBsZXQgZGVzaXJlZFBvaW50OiBJUG9pbnQgPSBwb2ludHMuZmluZChcbiAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGRlc2lyZWRQb2ludElkLFxuICApO1xuXG4gIHJldHVybiBkZXNpcmVkUG9pbnQ7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZEFuZERyYXdFdmVudE5ldHdvcmtFZGdlcyA9IChcbiAgZWRnZXM6IElFZGdlW10sXG4gIGV2ZW50OiBJRXZlbnQsXG4gIHBvaW50czogSVBvaW50W10sXG4gIGRpc3BhdGNoLFxuICBtYXAsXG4gIGxheWVyR3JvdXAsXG4pID0+IHtcbiAgbGV0IGVkZ2VzVG9EcmF3OiBJRWRnZVtdID0gW107XG4gIGxldCBmaXJzdEVkZ2UgPSBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aChlZGdlcywgZXZlbnQpO1xuXG4gIGlmIChmaXJzdEVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSA9IFtmaXJzdEVkZ2VdO1xuICAgIGxldCB1cHN0cmVhbUVkZ2VzID0gZ2V0VXBzdHJlYW1FZGdlcyhmaXJzdEVkZ2UsIGVkZ2VzKTtcbiAgICBpZiAodXBzdHJlYW1FZGdlcyA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMubGVuZ3RoICE9PSAwKVxuICAgICAgZmluZFVwc3RyZWFtRWRnZXNUb0RyYXcodXBzdHJlYW1FZGdlcywgZWRnZXNUb0RyYXcsIHBvaW50cywgZWRnZXMpO1xuICAgIGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcoZmlyc3RFZGdlLCBlZGdlcywgZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzVG9EcmF3KTtcbiAgfVxuXG4gIGRyYXdOZXR3b3JrKGVkZ2VzVG9EcmF3LCBwb2ludHMsIGRpc3BhdGNoLCBtYXAsIGV2ZW50LCBsYXllckdyb3VwKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzT2JzZXJ2YXRpb24gPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoKG9icykgPT4gb2JzLnBvaW50X2lkID09PSBwb2ludC5pZCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc1dXVFAgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzQ29sbGVjdG9yID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkNvbGxlY3RvcnMnO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ29sbGVjdG9yVW5tb25pdG9yZWQgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gcG9pbnRJc0NvbGxlY3Rvcihwb2ludCkgJiYgIXBvaW50Lmhhc19kZXZpY2U7XG59O1xuXG5jb25zdCBjcmVhdGVQb2ludExvZ2ljID0gKHBvaW50OiBJUG9pbnQsIG1hcCwgbGF5ZXJHcm91cCkgPT4ge1xuICAvLyBpZiAoaXNDb2xsZWN0b3JVbm1vbml0b3JlZChwb2ludCkpIHtcbiAgLy8gICByZXR1cm47XG4gIC8vIH1cblxuICBjcmVhdGVCdWJibGVQb2ludChcbiAgICBbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV0sXG4gICAgcG9pbnQsXG4gICAgbWFwLFxuICAgIG51bGwsXG4gICAgbGF5ZXJHcm91cCxcbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsQ0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFJQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFBeUQsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFQLHdCQUFBVyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWixHQUFBLENBQUFZLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFILEdBQUEsTUFBQUksS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWpCLEdBQUEsRUFBQU8sTUFBQSxZQUFBQSxNQUFBO0FBRWxELElBQU1XLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSUMsV0FBbUIsRUFBRUMsR0FBVSxFQUFLO0VBQ2xFLElBQUlDLFNBQVMsR0FBR2pDLENBQUMsQ0FBQ2tDLElBQUksQ0FBQztJQUNyQkMsT0FBTyxFQUFFQyxtQkFBVTtJQUNuQkMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQkMsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUc7RUFDdkIsQ0FBQyxDQUFDO0VBRUYsSUFBSUMsV0FBZ0IsR0FBR3ZDLENBQUMsQ0FBQ3dDLE1BQU0sQ0FDN0IsQ0FBQ1QsV0FBVyxDQUFDVSxRQUFRLEVBQUVWLFdBQVcsQ0FBQ1csU0FBUyxDQUFDLEVBQzdDO0lBQ0VSLElBQUksRUFBRUQsU0FBUztJQUNmVSxXQUFXLEVBQUU7RUFDZixDQUNGLENBQUMsQ0FBQ0MsS0FBSyxDQUFDWixHQUFHLENBQUM7RUFDWk8sV0FBVyxDQUFDTSxXQUFXLElBQUFDLE1BQUEsQ0FDbEJmLFdBQVcsQ0FBQ2dCLEtBQUssQ0FBQ0MsSUFBSSxRQUFBRixNQUFBLENBQUtmLFdBQVcsQ0FBQ2dCLEtBQUssQ0FBQ0UsV0FBVyxNQUM3RCxDQUFDO0VBQ0RWLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHUixXQUFXLENBQUNtQixFQUFFO0VBQy9DWCxXQUFXLENBQUMsY0FBYyxDQUFDLEdBQUcsZUFBZTtBQUMvQyxDQUFDO0FBQUNZLE9BQUEsQ0FBQXJCLGVBQUEsR0FBQUEsZUFBQTtBQUVLLElBQU1zQix1QkFBdUIsR0FBRyxTQUExQkEsdUJBQXVCQSxDQUFJQyxLQUFjLEVBQUVDLEtBQWEsRUFBSztFQUN4RSxJQUFJQSxLQUFLLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBS0MsU0FBUyxFQUFFO0VBQ2pDLE9BQU9ILEtBQUssQ0FBQ0ksSUFBSSxDQUFDLFVBQUNDLElBQUk7SUFBQSxPQUFLQSxJQUFJLENBQUNSLEVBQUUsS0FBS0ksS0FBSyxDQUFDQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUNJLE9BQU87RUFBQSxFQUFDO0FBQ2hFLENBQUM7QUFBQ1IsT0FBQSxDQUFBQyx1QkFBQSxHQUFBQSx1QkFBQTtBQUVGLElBQU1RLFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFJUCxLQUFLLEVBQUVRLG9CQUFvQixFQUFLO0VBQ2pELE9BQU9SLEtBQUssQ0FBQ1MsTUFBTSxDQUFDLFVBQUNKLElBQVc7SUFBQSxPQUM5Qkcsb0JBQW9CLENBQUNFLFFBQVEsQ0FBQ0wsSUFBSSxDQUFDTSxlQUFlLENBQUM7RUFBQSxDQUNyRCxDQUFDO0FBQ0gsQ0FBQztBQUVELElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQzNCQyxTQUFTLEVBQ1RiLEtBQUssRUFDTGMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDYjtFQUNILElBQUlQLG9CQUFvQixHQUFHSyxTQUFTLENBQUNsQyxHQUFHLENBQUMsVUFBQzBCLElBQUk7SUFBQSxPQUFLQSxJQUFJLENBQUNXLGVBQWU7RUFBQSxFQUFDO0VBQ3hFLElBQUlULFNBQVMsQ0FBQ1AsS0FBSyxFQUFFUSxvQkFBb0IsQ0FBQyxDQUFDUyxNQUFNLEtBQUssQ0FBQyxFQUFFO0lBQ3ZELE9BQU9ILGtCQUFrQixDQUFDLENBQUNELFNBQVMsQ0FBQyxDQUFDO0VBQ3hDLENBQUMsTUFBTTtJQUNMRSxnQkFBZ0IsQ0FBQ0csSUFBSSxDQUFDWCxTQUFTLENBQUNQLEtBQUssRUFBRVEsb0JBQW9CLENBQUMsQ0FBQztJQUM3REksdUJBQXVCLENBQ3JCTCxTQUFTLENBQUNQLEtBQUssRUFBRVEsb0JBQW9CLENBQUMsRUFDdENSLEtBQUssRUFDTGMsa0JBQWtCLEVBQ2xCQyxnQkFDRixDQUFDO0VBQ0g7RUFFQSxPQUFPRCxrQkFBa0IsQ0FBQ0MsZ0JBQWdCLENBQUM7QUFDN0MsQ0FBQztBQUVELElBQU1ELGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLGdCQUFnQixFQUFLO0VBQy9DLElBQUlJLE1BQWEsR0FBRyxFQUFFO0VBQ3RCSixnQkFBZ0IsQ0FBQ0ssT0FBTyxDQUFDLFVBQUNwQixLQUFLLEVBQUs7SUFDbENBLEtBQUssQ0FBQ29CLE9BQU8sQ0FBQyxVQUFDZixJQUFJLEVBQUs7TUFDdEJjLE1BQU0sQ0FBQ0QsSUFBSSxDQUFDYixJQUFJLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUYsT0FBT2MsTUFBTTtBQUNmLENBQUM7QUFFTSxJQUFNRSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFJQyxTQUFnQixFQUFFdEIsS0FBYyxFQUFLO0VBQ3BFLElBQUllLGdCQUF1QixHQUFHLEVBQUU7RUFDaEMsSUFBSVEsa0JBQTJCLEdBQUd2QixLQUFLLENBQUNTLE1BQU0sQ0FDNUMsVUFBQ0osSUFBSTtJQUFBLE9BQUtBLElBQUksQ0FBQ00sZUFBZSxLQUFLVyxTQUFTLENBQUVOLGVBQWU7RUFBQSxDQUMvRCxDQUFDO0VBRUQsT0FBT0osdUJBQXVCLENBQzVCVyxrQkFBa0IsRUFDbEJ2QixLQUFLLEVBQ0xjLGtCQUFrQixFQUNsQkMsZ0JBQ0YsQ0FBQztBQUNILENBQUM7QUFBQ2pCLE9BQUEsQ0FBQXVCLGdCQUFBLEdBQUFBLGdCQUFBO0FBRUssSUFBTUcsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FDbENDLGFBQXNCLEVBQ3RCQyxXQUFvQixFQUNwQkMsTUFBZ0IsRUFDaEIzQixLQUFjLEVBQ1g7RUFDSHlCLGFBQWEsQ0FBQ0wsT0FBTyxDQUFDLFVBQUNRLFlBQVksRUFBSztJQUN0QyxJQUFJQSxZQUFZLEVBQUU7TUFDaEIsSUFBSWxELFdBQVcsR0FBR2lELE1BQU0sQ0FBQ3ZCLElBQUksQ0FDM0IsVUFBQ3lCLEtBQUs7UUFBQSxPQUFLQSxLQUFLLENBQUNoQyxFQUFFLEtBQUsrQixZQUFZLENBQUVaLGVBQWU7TUFBQSxDQUN2RCxDQUFDO01BRUQsSUFBSXRDLFdBQVcsRUFBRWdELFdBQVcsQ0FBQ1IsSUFBSSxDQUFDVSxZQUFZLENBQUM7TUFFL0MsSUFBSUUsZUFBZSxHQUFHOUIsS0FBSyxDQUFDUyxNQUFNLENBQ2hDLFVBQUNKLElBQUk7UUFBQSxPQUFLQSxJQUFJLENBQUNXLGVBQWUsS0FBS1ksWUFBWSxDQUFDakIsZUFBZTtNQUFBLENBQ2pFLENBQUM7TUFFRCxJQUFJbUIsZUFBZSxDQUFDYixNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2hDYSxlQUFlLENBQUNWLE9BQU8sQ0FBQyxVQUFDZixJQUFJO1VBQUEsT0FBS3FCLFdBQVcsQ0FBQ1IsSUFBSSxDQUFDYixJQUFJLENBQUM7UUFBQSxFQUFDO01BQzNEO0lBQ0Y7RUFDRixDQUFDLENBQUM7RUFFRixPQUFPcUIsV0FBVztBQUNwQixDQUFDO0FBQUM1QixPQUFBLENBQUEwQix1QkFBQSxHQUFBQSx1QkFBQTtBQUVLLElBQU1PLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBeUJBLENBQ3BDVCxTQUFnQixFQUNoQnRCLEtBQWMsRUFDZGdDLGlCQUFpQixFQUNqQk4sV0FBVyxFQUNSO0VBQ0hPLHlCQUF5QixDQUFDRCxpQkFBaUIsRUFBRWhDLEtBQUssQ0FBQyxDQUFDb0IsT0FBTyxDQUN6RCxVQUFDYyxjQUFjLEVBQUs7SUFDbEJSLFdBQVcsQ0FBQ1IsSUFBSSxDQUFDZ0IsY0FBYyxDQUFDO0VBQ2xDLENBQ0YsQ0FBQztBQUNILENBQUM7QUFBQ3BDLE9BQUEsQ0FBQWlDLHlCQUFBLEdBQUFBLHlCQUFBO0FBRUssSUFBTUUseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FDcENELGlCQUEwQixFQUMxQmhDLEtBQWMsRUFDWDtFQUNILElBQUltQyxrQkFBa0IsR0FBR0gsaUJBQWlCLENBQUNBLGlCQUFpQixDQUFDZixNQUFNLEdBQUcsQ0FBQyxDQUFDO0VBRXhFLElBQUltQixtQkFBbUIsQ0FBQ0Qsa0JBQWtCLEVBQUVuQyxLQUFLLENBQUMsQ0FBQ2lCLE1BQU0sS0FBSyxDQUFDLEVBQUU7SUFDL0QsT0FBT2UsaUJBQWlCO0VBQzFCLENBQUMsTUFBTTtJQUNMSSxtQkFBbUIsQ0FBQ0Qsa0JBQWtCLEVBQUVuQyxLQUFLLENBQUMsQ0FBQ29CLE9BQU8sQ0FBQyxVQUFDZixJQUFJLEVBQUs7TUFDL0QyQixpQkFBaUIsQ0FBQ2QsSUFBSSxDQUFDYixJQUFJLENBQUM7TUFDNUI0Qix5QkFBeUIsQ0FBQ0QsaUJBQWlCLEVBQUVoQyxLQUFLLENBQUM7SUFDckQsQ0FBQyxDQUFDO0VBQ0o7RUFFQSxPQUFPZ0MsaUJBQWlCO0FBQzFCLENBQUM7QUFBQ2xDLE9BQUEsQ0FBQW1DLHlCQUFBLEdBQUFBLHlCQUFBO0FBRUssSUFBTUcsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSWQsU0FBZ0IsRUFBRXRCLEtBQWMsRUFBSztFQUN2RSxPQUFPQSxLQUFLLENBQUNTLE1BQU0sQ0FDakIsVUFBQ0osSUFBSTtJQUFBLE9BQUtBLElBQUksQ0FBQ1csZUFBZSxLQUFLTSxTQUFTLENBQUNYLGVBQWU7RUFBQSxDQUM5RCxDQUFDO0FBQ0gsQ0FBQztBQUFDYixPQUFBLENBQUFzQyxtQkFBQSxHQUFBQSxtQkFBQTtBQUVLLElBQU1DLDRCQUE0QixHQUFHLFNBQS9CQSw0QkFBNEJBLENBQ3ZDWCxXQUFvQixFQUNwQnpCLEtBQWEsRUFDYkQsS0FBYyxFQUNYO0VBQ0hDLEtBQUssQ0FBQ0MsSUFBSSxDQUFDa0IsT0FBTyxDQUFDLFVBQUNrQixJQUFJLEVBQUs7SUFDM0IsSUFBSUMsV0FBVyxHQUFHdkMsS0FBSyxDQUFDSSxJQUFJLENBQUMsVUFBQ0MsSUFBSTtNQUFBLE9BQUtBLElBQUksQ0FBQ1IsRUFBRSxLQUFLeUMsSUFBSSxDQUFDaEMsT0FBTztJQUFBLEVBQUM7SUFDaEUsSUFBSWlDLFdBQVcsS0FBS3BDLFNBQVMsRUFBRXVCLFdBQVcsQ0FBQ1IsSUFBSSxDQUFDcUIsV0FBVyxDQUFDO0VBQzlELENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQ3pDLE9BQUEsQ0FBQXVDLDRCQUFBLEdBQUFBLDRCQUFBO0FBRUssSUFBTUcsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQ3RCeEMsS0FBYyxFQUNkMkIsTUFBZ0IsRUFDaEJjLFFBQVEsRUFDUjlELEdBQUcsRUFDSHNCLEtBQUssRUFDTHlDLFVBQVUsRUFDUDtFQUNILElBQUlDLE9BQVksR0FBRyxFQUFFO0VBQ3JCM0MsS0FBSyxDQUFDb0IsT0FBTyxDQUFDLFVBQUNmLElBQUksRUFBSztJQUN0QkEsSUFBSSxDQUFDdUMsVUFBVSxDQUFDeEIsT0FBTyxDQUFDLFVBQUN5QixJQUFTLEVBQUs7TUFDckNGLE9BQU8sQ0FBQ3pCLElBQUksQ0FBQyxDQUFDMkIsSUFBSSxDQUFDQyxHQUFHLEVBQUVELElBQUksQ0FBQ0UsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDO0lBRUYsSUFBSUMsWUFBaUIsR0FBR3JHLENBQUMsQ0FBQ3NHLFFBQVEsQ0FBQ04sT0FBTyxFQUFFO01BQzFDTyxLQUFLLEVBQUUsa0JBQWtCO01BQ3pCQyxNQUFNLEVBQUUsQ0FBQztNQUNUQyxPQUFPLEVBQUU7SUFDWCxDQUFDLENBQUM7SUFFRixJQUFJQyxRQUFhO0lBRWpCLElBQUkxRyxDQUFDLENBQUMyRyxNQUFNLEtBQUtuRCxTQUFTLEVBQUU7TUFDMUJrRCxRQUFRLEdBQUcxRyxDQUFDLENBQUM0RyxpQkFBaUIsQ0FBQ1AsWUFBWSxDQUFDUSxRQUFRLEVBQUU7UUFDcERDLFFBQVEsRUFBRTtRQUNSO1FBQ0E7VUFDRUMsTUFBTSxFQUFFLEVBQUU7VUFDVkMsTUFBTSxFQUFFLEVBQUU7VUFDVkMsTUFBTSxFQUFFakgsQ0FBQyxDQUFDMkcsTUFBTSxDQUFDTyxTQUFTLENBQUM7WUFDekJDLFNBQVMsRUFBRSxDQUFDO1lBQ1pDLE9BQU8sRUFBRSxLQUFLO1lBQ2RDLFdBQVcsRUFBRTtjQUNYQyxNQUFNLEVBQUUsSUFBSTtjQUNaZixLQUFLLEVBQUUsYUFBYTtjQUNwQkMsTUFBTSxFQUFFO1lBQ1Y7VUFDRixDQUFDO1FBQ0gsQ0FBQztNQUVMLENBQUMsQ0FBQztNQUNGRSxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsV0FBVztNQUN0Q1gsVUFBVSxDQUFDd0IsUUFBUSxDQUFDYixRQUFRLENBQUM7SUFDL0I7SUFFQUwsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEdBQUczQyxJQUFJLENBQUNSLEVBQUU7SUFDekMsSUFBSUksS0FBSyxDQUFDa0UsT0FBTyxFQUFFbkIsWUFBWSxDQUFDLGNBQWMsQ0FBQyxHQUFHLGFBQWE7SUFDL0QsSUFBSS9DLEtBQUssQ0FBQ21FLE9BQU8sRUFBRXBCLFlBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxhQUFhO0lBQy9ELElBQUlyRSxHQUFHLEtBQUssSUFBSSxFQUFFK0QsVUFBVSxDQUFDd0IsUUFBUSxDQUFDbEIsWUFBWSxDQUFDO0lBQ25EQSxZQUFZLENBQUNxQixZQUFZLENBQUMsQ0FBQztJQUMzQixJQUFJMUgsQ0FBQyxDQUFDMkcsTUFBTSxLQUFLbkQsU0FBUyxFQUFFa0QsUUFBUSxDQUFDZ0IsWUFBWSxDQUFDLENBQUM7SUFFbkQsSUFBSUMsYUFBa0IsR0FBRzNILENBQUMsQ0FBQ3NHLFFBQVEsQ0FBQ04sT0FBTyxFQUFFO01BQzNDTyxLQUFLLEVBQUUsZUFBZTtNQUN0QkMsTUFBTSxFQUFFLENBQUM7TUFDVEMsT0FBTyxFQUFFO0lBQ1gsQ0FBQyxDQUFDO0lBRUZrQixhQUFhLENBQUMsaUJBQWlCLENBQUMsR0FBR2pFLElBQUksQ0FBQ1IsRUFBRTtJQUMxQyxJQUFJSSxLQUFLLENBQUNrRSxPQUFPLEVBQUVHLGFBQWEsQ0FBQyxjQUFjLENBQUMsR0FBRyxrQkFBa0I7SUFDckUsSUFBSXJFLEtBQUssQ0FBQ21FLE9BQU8sRUFBRUUsYUFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLGtCQUFrQjtJQUNyRSxJQUFJM0YsR0FBRyxLQUFLLElBQUksRUFBRStELFVBQVUsQ0FBQ3dCLFFBQVEsQ0FBQ0ksYUFBYSxDQUFDO0lBQ3BEdEIsWUFBWSxDQUFDekQsS0FBSyxDQUFDWixHQUFHLENBQUM7SUFDdkIyRixhQUFhLENBQUMvRSxLQUFLLENBQUNaLEdBQUcsQ0FBQztJQUV4QjJGLGFBQWEsQ0FBQ0QsWUFBWSxDQUFDLENBQUM7SUFDNUIsSUFBSXBFLEtBQUssQ0FBQ2tFLE9BQU8sRUFDZjFCLFFBQVEsQ0FBQyxJQUFBOEIsNEJBQW1CLEVBQUMsQ0FBQ3ZCLFlBQVksRUFBRXNCLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDOUQzQixPQUFPLEdBQUcsRUFBRTtJQUVaLElBQUloQixNQUFNLENBQUNWLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDdkIsSUFBSXZDLFdBQW1CLEdBQUc4RixXQUFXLENBQUM3QyxNQUFNLEVBQUV0QixJQUFJLENBQUNXLGVBQWUsQ0FBQztNQUNuRSxJQUFJeUQsV0FBbUIsR0FBR0QsV0FBVyxDQUFDN0MsTUFBTSxFQUFFdEIsSUFBSSxDQUFDTSxlQUFlLENBQUM7TUFDbkUsSUFBSWpDLFdBQVcsS0FBS3lCLFNBQVMsSUFBSXNFLFdBQVcsS0FBS3RFLFNBQVMsRUFBRTtRQUMxRDZDLFlBQVksQ0FBQzBCLFNBQVMsYUFBQWpGLE1BQUEsQ0FBYVksSUFBSSxDQUFDUixFQUFFLGlFQUFBSixNQUFBLENBQ0lmLFdBQVcsQ0FBQ2dCLEtBQUssQ0FBQ0MsSUFBSSxpRUFBQUYsTUFBQSxDQUN0QmdGLFdBQVcsQ0FBQy9FLEtBQUssQ0FBQ0MsSUFBSSx5REFBQUYsTUFBQSxDQUMxQlksSUFBSSxDQUFDc0UsUUFBUSxDQUFFLENBQUM7TUFDNUQ7TUFDQUMsZ0JBQWdCLENBQUNsRyxXQUFXLEVBQUVDLEdBQUcsRUFBRStELFVBQVUsQ0FBQztNQUM5QyxJQUFJMUMsS0FBSyxDQUFDQSxLQUFLLENBQUNpQixNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUNOLGVBQWUsS0FBS04sSUFBSSxDQUFDTSxlQUFlLEVBQUU7UUFDcEVpRSxnQkFBZ0IsQ0FBQ0gsV0FBVyxFQUFFOUYsR0FBRyxFQUFFK0QsVUFBVSxDQUFDO01BQ2hEO0lBQ0Y7RUFDRixDQUFDLENBQUM7QUFDSixDQUFDO0FBQUM1QyxPQUFBLENBQUEwQyxXQUFBLEdBQUFBLFdBQUE7QUFFRixJQUFNZ0MsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUk3QyxNQUFNLEVBQUVrRCxjQUFjLEVBQUs7RUFDOUMsSUFBSUMsWUFBb0IsR0FBR25ELE1BQU0sQ0FBQ3ZCLElBQUksQ0FDcEMsVUFBQ3lCLEtBQWE7SUFBQSxPQUFLQSxLQUFLLENBQUNoQyxFQUFFLEtBQUtnRixjQUFjO0VBQUEsQ0FDaEQsQ0FBQztFQUVELE9BQU9DLFlBQVk7QUFDckIsQ0FBQztBQUVNLElBQU1DLDRCQUE0QixHQUFHLFNBQS9CQSw0QkFBNEJBLENBQ3ZDL0UsS0FBYyxFQUNkQyxLQUFhLEVBQ2IwQixNQUFnQixFQUNoQmMsUUFBUSxFQUNSOUQsR0FBRyxFQUNIK0QsVUFBVSxFQUNQO0VBQ0gsSUFBSWhCLFdBQW9CLEdBQUcsRUFBRTtFQUM3QixJQUFJSixTQUFTLEdBQUd2Qix1QkFBdUIsQ0FBQ0MsS0FBSyxFQUFFQyxLQUFLLENBQUM7RUFFckQsSUFBSXFCLFNBQVMsS0FBS25CLFNBQVMsRUFBRTtJQUMzQixJQUFJNkIsaUJBQTBCLEdBQUcsQ0FBQ1YsU0FBUyxDQUFDO0lBQzVDLElBQUlHLGFBQWEsR0FBR0osZ0JBQWdCLENBQUNDLFNBQVMsRUFBRXRCLEtBQUssQ0FBQztJQUN0RCxJQUFJeUIsYUFBYSxLQUFLdEIsU0FBUyxFQUFFO0lBQ2pDLElBQUlzQixhQUFhLENBQUNSLE1BQU0sS0FBSyxDQUFDLEVBQzVCTyx1QkFBdUIsQ0FBQ0MsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRTNCLEtBQUssQ0FBQztJQUNwRStCLHlCQUF5QixDQUFDVCxTQUFTLEVBQUV0QixLQUFLLEVBQUVnQyxpQkFBaUIsRUFBRU4sV0FBVyxDQUFDO0VBQzdFO0VBRUFjLFdBQVcsQ0FBQ2QsV0FBVyxFQUFFQyxNQUFNLEVBQUVjLFFBQVEsRUFBRTlELEdBQUcsRUFBRXNCLEtBQUssRUFBRXlDLFVBQVUsQ0FBQztBQUNwRSxDQUFDO0FBQUM1QyxPQUFBLENBQUFpRiw0QkFBQSxHQUFBQSw0QkFBQTtBQUVLLElBQU1DLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUkvRSxLQUFhLEVBQUU0QixLQUFhLEVBQUs7RUFDbEUsT0FBTzVCLEtBQUssQ0FBQ2dGLFlBQVksQ0FBQzdFLElBQUksQ0FBQyxVQUFDOEUsR0FBRztJQUFBLE9BQUtBLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLdEQsS0FBSyxDQUFDaEMsRUFBRTtFQUFBLEVBQUM7QUFDcEUsQ0FBQztBQUFDQyxPQUFBLENBQUFrRixrQkFBQSxHQUFBQSxrQkFBQTtBQUVLLElBQU1JLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJdkQsS0FBYSxFQUFLO0VBQzVDLE9BQU9BLEtBQUssQ0FBQ25DLEtBQUssQ0FBQzJGLElBQUksS0FBSyxrQ0FBa0M7QUFDaEUsQ0FBQztBQUFDdkYsT0FBQSxDQUFBc0YsV0FBQSxHQUFBQSxXQUFBO0FBRUssSUFBTUUsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSXpELEtBQWEsRUFBSztFQUNqRCxPQUFPQSxLQUFLLENBQUNuQyxLQUFLLENBQUMyRixJQUFJLEtBQUssb0JBQW9CO0FBQ2xELENBQUM7QUFBQ3ZGLE9BQUEsQ0FBQXdGLGdCQUFBLEdBQUFBLGdCQUFBO0FBRUssSUFBTUMsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBSTFELEtBQWEsRUFBSztFQUN2RCxPQUFPeUQsZ0JBQWdCLENBQUN6RCxLQUFLLENBQUMsSUFBSSxDQUFDQSxLQUFLLENBQUMyRCxVQUFVO0FBQ3JELENBQUM7QUFBQzFGLE9BQUEsQ0FBQXlGLHNCQUFBLEdBQUFBLHNCQUFBO0FBRUYsSUFBTVgsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSS9DLEtBQWEsRUFBRWxELEdBQUcsRUFBRStELFVBQVUsRUFBSztFQUMzRDtFQUNBO0VBQ0E7O0VBRUEsSUFBQStDLDZCQUFpQixFQUNmLENBQUM1RCxLQUFLLENBQUN6QyxRQUFRLEVBQUV5QyxLQUFLLENBQUN4QyxTQUFTLENBQUMsRUFDakN3QyxLQUFLLEVBQ0xsRCxHQUFHLEVBQ0gsSUFBSSxFQUNKK0QsVUFDRixDQUFDO0FBQ0gsQ0FBQyJ9
233
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3doaXRlUG9pbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJfUG9pbnRVdGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiZHJhd01hbmhvbGVJY29uIiwic291cmNlUG9pbnQiLCJtYXAiLCJwb2ludEljb24iLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiY29uY2F0IiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImV4cG9ydHMiLCJnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCIsImVkZ2VzIiwiZXZlbnQiLCJwYXRoIiwidW5kZWZpbmVkIiwiZmluZCIsImVkZ2UiLCJlZGdlX2lkIiwiZmluZEVkZ2VzIiwibmV4dFVwc3RyZWFtTGV2ZWxJZHMiLCJmaWx0ZXIiLCJpbmNsdWRlcyIsInRhcmdldF9wb2ludF9pZCIsInJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoIiwibmV4dExldmVsIiwibWFwQWxsRWRnZXNOZXN0aW5nIiwiYWxsVXBzdHJlYW1FZGdlcyIsInNvdXJjZV9wb2ludF9pZCIsImxlbmd0aCIsInB1c2giLCJtYXBwZWQiLCJmb3JFYWNoIiwiZ2V0VXBzdHJlYW1FZGdlcyIsImZpcnN0RWRnZSIsImZpcnN0VXBzdHJlYW1MZXZlbCIsImZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3IiwidXBzdHJlYW1FZGdlcyIsImVkZ2VzVG9EcmF3IiwicG9pbnRzIiwidXBzdHJlYW1FZGdlIiwicG9pbnQiLCJjb25uZWN0aW9uRWRnZXMiLCJmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3IiwiZG93bnN0cmVhbU5ldHdvcmsiLCJyZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoIiwiZG93blN0cmVhbUVkZ2UiLCJsYXN0RG93blN0cmVhbUVkZ2UiLCJuZXh0TGV2ZWxEb3duU3RyZWFtIiwiZmluZEVkZ2VzRnJvbUV2ZW50UGF0aFRvRHJhdyIsInBhcnQiLCJtYXRjaGVkUGFydCIsImRyYXdOZXR3b3JrIiwiZGlzcGF0Y2giLCJsYXllckdyb3VwIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJkYXRhIiwibGF0IiwibG5nIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJ0YWlsRGFzaCIsIlN5bWJvbCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsImFkZExheWVyIiwiaG92ZXJlZCIsImZvY3VzZWQiLCJicmluZ1RvRnJvbnQiLCJwb2x5bGluZUZyb250Iiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsInBvaW50RmluZGVyIiwidGFyZ2V0UG9pbnQiLCJiaW5kUG9wdXAiLCJkaXN0YW5jZSIsImNyZWF0ZVBvaW50TG9naWMiLCJkZXNpcmVkUG9pbnRJZCIsImRlc2lyZWRQb2ludCIsImZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMiLCJwb2ludElzT2JzZXJ2YXRpb24iLCJvYnNlcnZhdGlvbnMiLCJvYnMiLCJwb2ludF9pZCIsInBvaW50SXNXV1RQIiwidHlwZSIsInBvaW50SXNDb2xsZWN0b3IiLCJpc0NvbGxlY3RvclVubW9uaXRvcmVkIiwiaGFzX2RldmljZSIsImNyZWF0ZUJ1YmJsZVBvaW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlQnViYmxlUG9pbnQgfSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBkcmF3TWFuaG9sZUljb24gPSAoc291cmNlUG9pbnQ6IElQb2ludCwgbWFwOiBMLk1hcCkgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgaWNvbkFuY2hvcjogWzQuNSwgNC41XSxcbiAgfSk7XG5cbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihcbiAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSxcbiAgKS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChcbiAgICBgJHtzb3VyY2VQb2ludC5ncm91cC5uYW1lfSAoJHtzb3VyY2VQb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYCxcbiAgKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gc291cmNlUG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdVcHN0cmVhbVBvaW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCA9IChlZGdlczogSUVkZ2VbXSwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBpZiAoZXZlbnQucGF0aFswXSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBldmVudC5wYXRoWzBdLmVkZ2VfaWQpO1xufTtcblxuY29uc3QgZmluZEVkZ2VzID0gKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKChlZGdlOiBJRWRnZSkgPT5cbiAgICBuZXh0VXBzdHJlYW1MZXZlbElkcy5pbmNsdWRlcyhlZGdlLnRhcmdldF9wb2ludF9pZCksXG4gICk7XG59O1xuXG5jb25zdCByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaCA9IChcbiAgbmV4dExldmVsLFxuICBlZGdlcyxcbiAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICBhbGxVcHN0cmVhbUVkZ2VzLFxuKSA9PiB7XG4gIGxldCBuZXh0VXBzdHJlYW1MZXZlbElkcyA9IG5leHRMZXZlbC5tYXAoKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgaWYgKGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoW25leHRMZXZlbF0pO1xuICB9IGVsc2Uge1xuICAgIGFsbFVwc3RyZWFtRWRnZXMucHVzaChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSk7XG4gICAgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2goXG4gICAgICBmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSxcbiAgICAgIGVkZ2VzLFxuICAgICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhhbGxVcHN0cmVhbUVkZ2VzKTtcbn07XG5cbmNvbnN0IG1hcEFsbEVkZ2VzTmVzdGluZyA9IChhbGxVcHN0cmVhbUVkZ2VzKSA9PiB7XG4gIGxldCBtYXBwZWQ6IGFueVtdID0gW107XG4gIGFsbFVwc3RyZWFtRWRnZXMuZm9yRWFjaCgoZWRnZXMpID0+IHtcbiAgICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICBtYXBwZWQucHVzaChlZGdlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1hcHBlZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVcHN0cmVhbUVkZ2VzID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIGxldCBhbGxVcHN0cmVhbUVkZ2VzOiBhbnlbXSA9IFtdO1xuICBsZXQgZmlyc3RVcHN0cmVhbUxldmVsOiBJRWRnZVtdID0gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnRhcmdldF9wb2ludF9pZCA9PT0gZmlyc3RFZGdlIS5zb3VyY2VfcG9pbnRfaWQsXG4gICk7XG5cbiAgcmV0dXJuIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgIGZpcnN0VXBzdHJlYW1MZXZlbCxcbiAgICBlZGdlcyxcbiAgICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gICAgYWxsVXBzdHJlYW1FZGdlcyxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyA9IChcbiAgdXBzdHJlYW1FZGdlczogSUVkZ2VbXSxcbiAgZWRnZXNUb0RyYXc6IElFZGdlW10sXG4gIHBvaW50czogSVBvaW50W10sXG4gIGVkZ2VzOiBJRWRnZVtdLFxuKSA9PiB7XG4gIHVwc3RyZWFtRWRnZXMuZm9yRWFjaCgodXBzdHJlYW1FZGdlKSA9PiB7XG4gICAgaWYgKHVwc3RyZWFtRWRnZSkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHVwc3RyZWFtRWRnZSEuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHNvdXJjZVBvaW50KSBlZGdlc1RvRHJhdy5wdXNoKHVwc3RyZWFtRWRnZSk7XG5cbiAgICAgIGxldCBjb25uZWN0aW9uRWRnZXMgPSBlZGdlcy5maWx0ZXIoXG4gICAgICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gdXBzdHJlYW1FZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChjb25uZWN0aW9uRWRnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIGNvbm5lY3Rpb25FZGdlcy5mb3JFYWNoKChlZGdlKSA9PiBlZGdlc1RvRHJhdy5wdXNoKGVkZ2UpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBlZGdlc1RvRHJhdztcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3ID0gKFxuICBmaXJzdEVkZ2U6IElFZGdlLFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZG93bnN0cmVhbU5ldHdvcmssXG4gIGVkZ2VzVG9EcmF3LFxuKSA9PiB7XG4gIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKS5mb3JFYWNoKFxuICAgIChkb3duU3RyZWFtRWRnZSkgPT4ge1xuICAgICAgZWRnZXNUb0RyYXcucHVzaChkb3duU3RyZWFtRWRnZSk7XG4gICAgfSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoID0gKFxuICBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgbGV0IGxhc3REb3duU3RyZWFtRWRnZSA9IGRvd25zdHJlYW1OZXR3b3JrW2Rvd25zdHJlYW1OZXR3b3JrLmxlbmd0aCAtIDFdO1xuXG4gIGlmIChuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbiAgfSBlbHNlIHtcbiAgICBuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGRvd25zdHJlYW1OZXR3b3JrLnB1c2goZWRnZSk7XG4gICAgICByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoKGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlcyk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZG93bnN0cmVhbU5ldHdvcms7XG59O1xuXG5leHBvcnQgY29uc3QgbmV4dExldmVsRG93blN0cmVhbSA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gZmlyc3RFZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3ID0gKFxuICBlZGdlc1RvRHJhdzogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgbGV0IG1hdGNoZWRQYXJ0ID0gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGFydC5lZGdlX2lkKTtcbiAgICBpZiAobWF0Y2hlZFBhcnQgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChtYXRjaGVkUGFydCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdOZXR3b3JrID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbiAgZXZlbnQsXG4gIGxheWVyR3JvdXAsXG4pID0+IHtcbiAgbGV0IGxhdGxuZ3M6IGFueSA9IFtdO1xuICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgZWRnZS5zaGFwZV9kYXRhLmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKFtkYXRhLmxhdCwgZGF0YS5sbmddKTtcbiAgICB9KTtcblxuICAgIGxldCBwb2x5bGluZUJhY2s6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjI3LDIyNywyMjcpJyxcbiAgICAgIHdlaWdodDogNixcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSk7XG5cbiAgICBsZXQgdGFpbERhc2g6IGFueTtcblxuICAgIGlmIChMLlN5bWJvbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0YWlsRGFzaCA9IEwucG9seWxpbmVEZWNvcmF0b3IocG9seWxpbmVCYWNrLl9sYXRsbmdzLCB7XG4gICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9mZnNldDogMTUsXG4gICAgICAgICAgICByZXBlYXQ6IDI1LFxuICAgICAgICAgICAgc3ltYm9sOiBMLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMCwwLDApJyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcbiAgICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIodGFpbERhc2gpO1xuICAgIH1cblxuICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlJztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdGb2N1c2VkRWRnZSc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUJhY2spO1xuICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkgdGFpbERhc2guYnJpbmdUb0Zyb250KCk7XG5cbiAgICBsZXQgcG9seWxpbmVGcm9udDogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyOSwyOSwyOSknLFxuICAgICAgd2VpZ2h0OiAxLFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KTtcblxuICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnSG92ZXJlZEVkZ2VGcm9udCc7XG4gICAgaWYgKGV2ZW50LmZvY3VzZWQpIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0ZvY3VzZWRFZGdlRnJvbnQnO1xuICAgIGlmIChtYXAgIT09IG51bGwpIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9seWxpbmVGcm9udCk7XG4gICAgcG9seWxpbmVCYWNrLmFkZFRvKG1hcCk7XG4gICAgcG9seWxpbmVGcm9udC5hZGRUbyhtYXApO1xuXG4gICAgcG9seWxpbmVGcm9udC5icmluZ1RvRnJvbnQoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZClcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICBsYXRsbmdzID0gW107XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50OiBJUG9pbnQgPSBwb2ludEZpbmRlcihwb2ludHMsIGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludDogSVBvaW50ID0gcG9pbnRGaW5kZXIocG9pbnRzLCBlZGdlLnRhcmdldF9wb2ludF9pZCk7XG4gICAgICBpZiAoc291cmNlUG9pbnQgIT09IHVuZGVmaW5lZCAmJiB0YXJnZXRQb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBvbHlsaW5lQmFjay5iaW5kUG9wdXAoYEVkZ2UgSUQ6ICR7ZWRnZS5pZH0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnQuZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXQgcG9pbnQ6ICR7dGFyZ2V0UG9pbnQuZ3JvdXAubmFtZX0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3RhbmNlOiAke2VkZ2UuZGlzdGFuY2V9YCk7XG4gICAgICB9XG5cbiAgICAgIGNyZWF0ZVBvaW50TG9naWMoc291cmNlUG9pbnQsIHRhcmdldFBvaW50LCBtYXAsIGxheWVyR3JvdXApO1xuICAgIH1cbiAgfSk7XG59O1xuXG5jb25zdCBwb2ludEZpbmRlciA9IChwb2ludHMsIGRlc2lyZWRQb2ludElkKSA9PiB7XG4gIGxldCBkZXNpcmVkUG9pbnQ6IElQb2ludCA9IHBvaW50cy5maW5kKFxuICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZGVzaXJlZFBvaW50SWQsXG4gICk7XG5cbiAgcmV0dXJuIGRlc2lyZWRQb2ludDtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kQW5kRHJhd0V2ZW50TmV0d29ya0VkZ2VzID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbiAgbGF5ZXJHcm91cCxcbikgPT4ge1xuICBsZXQgZWRnZXNUb0RyYXc6IElFZGdlW10gPSBbXTtcbiAgbGV0IGZpcnN0RWRnZSA9IGdldEZpcnN0RWRnZU9mRXZlbnRQYXRoKGVkZ2VzLCBldmVudCk7XG5cbiAgaWYgKGZpcnN0RWRnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgbGV0IGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdID0gW2ZpcnN0RWRnZV07XG4gICAgbGV0IHVwc3RyZWFtRWRnZXMgPSBnZXRVcHN0cmVhbUVkZ2VzKGZpcnN0RWRnZSwgZWRnZXMpO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBpZiAodXBzdHJlYW1FZGdlcy5sZW5ndGggIT09IDApXG4gICAgICBmaW5kVXBzdHJlYW1FZGdlc1RvRHJhdyh1cHN0cmVhbUVkZ2VzLCBlZGdlc1RvRHJhdywgcG9pbnRzLCBlZGdlcyk7XG4gICAgZmluZERvd25zdHJlYW1FZGdlc1RvRHJhdyhmaXJzdEVkZ2UsIGVkZ2VzLCBkb3duc3RyZWFtTmV0d29yaywgZWRnZXNUb0RyYXcpO1xuICB9XG5cbiAgZHJhd05ldHdvcmsoZWRnZXNUb0RyYXcsIHBvaW50cywgZGlzcGF0Y2gsIG1hcCwgZXZlbnQsIGxheWVyR3JvdXApO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNPYnNlcnZhdGlvbiA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBldmVudC5vYnNlcnZhdGlvbnMuZmluZCgob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHBvaW50LmlkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzV1dUUCA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNDb2xsZWN0b3IgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6Q29sbGVjdG9ycyc7XG59O1xuXG5leHBvcnQgY29uc3QgaXNDb2xsZWN0b3JVbm1vbml0b3JlZCA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBwb2ludElzQ29sbGVjdG9yKHBvaW50KSAmJiAhcG9pbnQuaGFzX2RldmljZTtcbn07XG5cbmNvbnN0IGNyZWF0ZVBvaW50TG9naWMgPSAoXG4gIHNvdXJjZVBvaW50OiBJUG9pbnQsXG4gIHRhcmdldFBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgbGF5ZXJHcm91cCxcbikgPT4ge1xuICBpZiAoXG4gICAgc291cmNlUG9pbnQgfHxcbiAgICB0YXJnZXRQb2ludCB8fFxuICAgIHBvaW50SXNXV1RQKHNvdXJjZVBvaW50KSB8fFxuICAgIHBvaW50SXNXV1RQKHRhcmdldFBvaW50KVxuICApIHtcbiAgICBpZiAoXG4gICAgICBpc0NvbGxlY3RvclVubW9uaXRvcmVkKHNvdXJjZVBvaW50KSB8fFxuICAgICAgaXNDb2xsZWN0b3JVbm1vbml0b3JlZCh0YXJnZXRQb2ludClcbiAgICApXG4gICAgICByZXR1cm47XG4gICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICBbc291cmNlUG9pbnQubGF0aXR1ZGUsIHNvdXJjZVBvaW50LmxvbmdpdHVkZV0sXG4gICAgICBzb3VyY2VQb2ludCB8fCB0YXJnZXRQb2ludCxcbiAgICAgIG1hcCxcbiAgICAgIG51bGwsXG4gICAgICBsYXllckdyb3VwLFxuICAgICk7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsQ0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFJQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFBeUQsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFQLHdCQUFBVyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUks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