@kando-env/kando-ui 1.2.418-alpha.10 → 1.2.418-alpha.11

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.
@@ -385,14 +385,14 @@ var zoomLevels = {
385
385
  exports.zoomLevels = zoomLevels;
386
386
  var filterPoints = function filterPoints() {
387
387
  var points = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
388
- var _ref2 = arguments.length > 1 ? arguments[1] : undefined,
389
- _ref2$onlyMonitored = _ref2.onlyMonitored,
390
- onlyMonitored = _ref2$onlyMonitored === void 0 ? false : _ref2$onlyMonitored,
391
- _ref2$withSampler = _ref2.withSampler,
392
- withSampler = _ref2$withSampler === void 0 ? false : _ref2$withSampler;
388
+ var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
389
+ onlyMonitored = _ref2.onlyMonitored,
390
+ withSampler = _ref2.withSampler;
393
391
  return points.filter(function (point) {
394
- if (onlyMonitored && !point.has_device) return false;
395
- if (withSampler && !point.has_sampler) return false;
392
+ if (onlyMonitored === true && !point.has_device) return false;
393
+ if (onlyMonitored === false && point.has_device) return false;
394
+ if (withSampler === true && !point.has_sampler) return false;
395
+ if (withSampler === false && point.has_sampler) return false;
396
396
  return true;
397
397
  });
398
398
  };
@@ -423,4 +423,4 @@ var setupCheckboxListener = function setupCheckboxListener(selector, onChange) {
423
423
  });
424
424
  };
425
425
  exports.setupCheckboxListener = setupCheckboxListener;
426
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJleHBvcnRzIiwiYXJlYSIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHMiLCJlZGdlcyIsIm1hcCIsInVuZGVmaW5lZCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJhcmVhcyIsImdsb2JhbCIsImZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAiLCJsYXllcnNUb0ZpbmQiLCJjdXJyZW50TGF5ZXIiLCJpbmNsdWRlcyIsImthbmRvX3BvaW50X3R5cGUiLCJldmVudHNDb3VudGVySWNvbnMiLCJsYXllciIsInpvb21MZXZlbCIsImljb24iLCJvcHRpb25zIiwiaWNvblNpemUiLCJldmVudHNDb3VudEljb24iLCJpY29uQW5jaG9yIiwic2V0SWNvbiIsInNldE9wYWNpdHkiLCJtdWx0aXBsZUxheWVyZWRJY29ucyIsImlzQUZld0xheWVySWNvbiIsImthbmRvX2Zld19sYXllcl9pY29uIiwibWluaUljb24iLCJwcmVzZW50Iiwia2FuZG9fc2Vjb25kYXJ5Iiwia2FuZG9fdGhpcmQiLCJzZWNvbmRhcnkiLCJ0aGlyZCIsImthbmRvX2luZGV4X29iamVjdCIsImJ1YmJsZUljb25PcHRpb25zIiwib25lTGF5ZXJJY29uT3B0aW9ucyIsIm1pZGRsZUljb25PcHRpb25zIiwidG9wSWNvbk9wdGlvbnMiLCJpY29uWm9vbUNvbnRyb2wiLCJsYXllcnMiLCJfem9vbSIsIm1hcFN0eWxlIiwibWFwQm94U3R5bGUiLCJ0aWxlTGF5ZXIiLCJjb25jYXQiLCJhdHRyaWJ1dGlvbiIsIm1heFpvb20iLCJtaW5ab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsIl9yZWYiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSIsInZpc2libGUiLCJlYWNoTGF5ZXIiLCJQb2x5bGluZSIsIlN5bWJvbCIsImFycm93SGVhZCIsInNldFN0eWxlIiwib3BhY2l0eSIsImVkZ2VzU3BlY2lmaWNMb2dpYyIsImRlZmF1bHRPbiIsImNoZWNrYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY2hlY2tlZCIsImN1c3RvbUNvbnRyb2xzIiwibGFiZWwiLCJpbnB1dFR5cGUiLCJkZW55Rm9yV2EiLCJvbkNoYW5nZSIsImlzQ2hlY2tlZCIsImFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94IiwibGVhZmxldHNDb250YWluZXIiLCJjdXN0b21Db250YWluZXIiLCJEb21FdmVudCIsIm9uIiwic3R5bGUiLCJkaXNwbGF5IiwiY3JlYXRlQ3VzdG9tQ29udHJvbCIsImNvbnRyb2wiLCJjb250YWluZXIiLCJjb250cm9sQ29udGFpbmVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlubmVySFRNTCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwidGFyZ2V0IiwiYXBwZW5kQ2hpbGQiLCJjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzIiwibWFwVHlwZXMiLCJhcmd1bWVudHMiLCJ3YUlkIiwiZm9yV1dUUERhc2hib2FyZCIsImNvbnRyb2xsZXIiLCJwb3NpdGlvbiIsImFkZFRvIiwiZ2V0Q29udGFpbmVyIiwiZm9yRWFjaCIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsInNob3dFZGdlc0J5RGVmYXVsdCIsIk1hcCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsInNldE1hcCIsIndoZW5SZWFkeSIsInZhbHVlcyIsInNldFRpbWVvdXQiLCJpbnZhbGlkYXRlU2l6ZSIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsInN0b3JlTWFwIiwic2lkZU5hdkV4cGFuZGVkIiwiZXZlbnQiLCJvcmlnaW5hbEV2ZW50Iiwia2V5IiwiY2xvc2VQb3B1cCIsImJvZHkiLCJmb2N1cyIsImdldFpvb20iLCJjbHVzdGVyR3JvdXBPcHRpb25zIiwic3BpZGVyZnlPbk1heFpvb20iLCJzaG93Q292ZXJhZ2VPbkhvdmVyIiwiem9vbVRvQm91bmRzT25DbGljayIsImFuaW1hdGUiLCJkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbSIsInJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzIiwiY2h1bmtlZExvYWRpbmciLCJpY29uQ3JlYXRlRnVuY3Rpb24iLCJjbHVzdGVyIiwiRGl2SWNvbiIsImh0bWwiLCJfY2hpbGRDb3VudCIsIlBvaW50Iiwiem9vbUxldmVscyIsImZpbHRlclBvaW50cyIsIl9yZWYyIiwiX3JlZjIkb25seU1vbml0b3JlZCIsIm9ubHlNb25pdG9yZWQiLCJfcmVmMiR3aXRoU2FtcGxlciIsIndpdGhTYW1wbGVyIiwiZmlsdGVyIiwicG9pbnQiLCJoYXNfZGV2aWNlIiwiaGFzX3NhbXBsZXIiLCJmaW5kUG9pbnQiLCJwb2ludElkIiwiaGFzRGV2aWNlQ2hlY2siLCJmaW5kIiwiZmlsdGVyRWRnZXMiLCJpc01vbml0b3JlZCIsImVkZ2UiLCJzb3VyY2VQb2ludCIsInNvdXJjZV9wb2ludF9pZCIsImRlc2NlbmRhbnRzX2hhc19kZXZpY2UiLCJwYXJlbnRQb2ludCIsInRhcmdldF9wb2ludF9pZCIsInNldHVwQ2hlY2tib3hMaXN0ZW5lciIsInNlbGVjdG9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IFBvaW50VHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNpZGVOYXZFeHBhbmRlZCwgc3RvcmVNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgc2V0TWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnIHx8XG4gICAgICAgIG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1BvaW50J1xuICAgICAgKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8vIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgcG9pbnRzLCBlZGdlcykgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbF9kYXRhLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgcG9pbnRzICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzID0gKFxuICBlZGdlcyxcbiAgYXJlYXMsXG4gIGdsb2JhbCxcbiAgbWFwUmVmLFxuICBwb2ludHMsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWwubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzLmxlbmd0aCA+PSAwICYmXG4gICAgYXJlYXMubGVuZ3RoID49IDAgJiZcbiAgICBwb2ludHMubGVuZ3RoID49IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuNywgem9vbUxldmVsICogMy43XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50SWNvbiA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSBhcyBQb2ludFR1cGxlLFxuICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDJdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjk4LCB6b29tTGV2ZWwgKiA0LjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWlkZGxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDMuNV0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAxLjVdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuMjk1LCB6b29tTGV2ZWwgKiAzLjM1XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9wSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMC45LCB6b29tTGV2ZWwgKiAxLjhdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS42LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuMiwgem9vbUxldmVsICogMi4xXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpY29uWm9vbUNvbnRyb2wgPSAobWFwKSA9PiB7XG4gIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgbGV0IHpvb21MZXZlbCA9IG1hcC5fem9vbTtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnSWNvbk51bWJlciddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgZXZlbnRzQ291bnRlckljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydQb2ludCcsICdJY29uJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydTYW1wbGluZycsICdPYnNlcnZhdGlvbiddLCBsYXllcnNbcHJvcGVydHldKVxuICAgICkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtYXBTdHlsZSA9IChtYXBCb3hTdHlsZSkgPT4ge1xuICByZXR1cm4gTC50aWxlTGF5ZXIoXG4gICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAge1xuICAgICAgYXR0cmlidXRpb246XG4gICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICBtaW5ab29tOiAyLFxuICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgdGlsZVNpemU6IDUxMixcbiAgICAgIHpvb21PZmZzZXQ6IC0xLFxuICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgdXBkYXRlV2hlbklkbGU6IGZhbHNlLFxuICAgIH0sXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSA9ICh2aXNpYmxlLCBtYXApID0+IHtcbiAgbWFwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlsaW5lICYmIGxheWVyLmthbmRvX29iamVjdCAhPT0gJ0FyZWEnKSB8fFxuICAgICAgbGF5ZXIgaW5zdGFuY2VvZiBMLlN5bWJvbC5hcnJvd0hlYWRcbiAgICApIHtcbiAgICAgIGxheWVyLnNldFN0eWxlKHsgb3BhY2l0eTogdmlzaWJsZSA/IDEgOiAwIH0pO1xuICAgIH1cbiAgfSk7XG59O1xuXG4vLyBleHBvcnQgY29uc3QgdG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eSA9ICh2aXNpYmxlKSA9PiB7XG4vLyAgIGNvbnNvbGUud2FybigndG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eScsIHZpc2libGUpO1xuLy8gfTtcblxuLy8gZXhwb3J0IGNvbnN0IHRvZ2dsZU1vbml0b3JlZFBvaW50c1dpdGhTYW1wbGVyVmlzaWJpbGl0eSA9ICh2aXNpYmxlKSA9PiB7XG4vLyAgIGNvbnNvbGUud2FybigndG9nZ2xlTW9uaXRvcmVkUG9pbnRzV2l0aFNhbXBsZXJWaXNpYmlsaXR5JywgdmlzaWJsZSk7XG4vLyB9O1xuXG5leHBvcnQgY29uc3QgZWRnZXNTcGVjaWZpY0xvZ2ljID0gKGRlZmF1bHRPbiwgbWFwKSA9PiB7XG4gIGxldCBjaGVja2JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNlZGdlcy1jaGVja2JveCcpO1xuICBpZiAoY2hlY2tib3ggPT0gbnVsbCkgcmV0dXJuO1xuICBjaGVja2JveC5jaGVja2VkID0gZGVmYXVsdE9uO1xufTtcblxuY29uc3QgY3VzdG9tQ29udHJvbHMgPSAobWFwKSA9PiB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgbGFiZWw6IGkxOG4udCgnbWFwLmxheWVycy5uZXR3b3JrX2xpbmVzJyksXG4gICAgICBpZDogJ2VkZ2VzLWNoZWNrYm94JyxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGRlbnlGb3JXYTogWzUxOF0sXG4gICAgICBvbkNoYW5nZTogKGlzQ2hlY2tlZCkgPT4gdG9nZ2xlRWRnZXNWaXNpYmlsaXR5KGlzQ2hlY2tlZCwgbWFwKSxcbiAgICB9LFxuXG4gICAge1xuICAgICAgbGFiZWw6ICdTaG93IG9ubHkgbW9uaXRvcmVkIHBvaW50cycsXG4gICAgICBpZDogJ21vbml0b3JlZC1wb2ludHMtY2hlY2tib3gnLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAgb25DaGFuZ2U6IChpc0NoZWNrZWQpID0+ICgpID0+IHt9LFxuICAgIH0sXG5cbiAgICB7XG4gICAgICBsYWJlbDogJ1Nob3cgb25seSBwb2ludHMgd2l0aCBzYW1wbGVyJyxcbiAgICAgIGlkOiAnbW9uaXRvcmVkLXBvaW50cy13aXRoLXNhbXBsZXItY2hlY2tib3gnLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAgb25DaGFuZ2U6IChpc0NoZWNrZWQpID0+ICgpID0+IHt9LFxuICAgIH0sXG5cbiAgICAvLyB7XG4gICAgLy8gICBsYWJlbDogJ0Fub3RoZXIgY3VzdG9tIGZlYXR1cmUnLFxuICAgIC8vICAgaWQ6ICdjdXN0b20tZmVhdHVyZS1jaGVja2JveCcsXG4gICAgLy8gICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgLy8gICBvbkNoYW5nZTogKGlzQ2hlY2tlZCkgPT4gY29uc29sZS5sb2coYEFub3RoZXIgZmVhdHVyZSBpcyBub3cgJHtpc0NoZWNrZWQgPyAnZW5hYmxlZCcgOiAnZGlzYWJsZWQnfWApLFxuICAgIC8vIH0sXG4gIF07XG59O1xuXG5jb25zdCBhcHBlbmRDdXN0b21DaGVja2JveFRvTGVhZmxldHNMYXllckJveCA9IChcbiAgbGVhZmxldHNDb250YWluZXIsXG4gIGN1c3RvbUNvbnRhaW5lcixcbikgPT4ge1xuICBMLkRvbUV2ZW50Lm9uKGxlYWZsZXRzQ29udGFpbmVyLCAnbW91c2VvdmVyJywgZnVuY3Rpb24gKCkge1xuICAgIGN1c3RvbUNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgfSk7XG5cbiAgTC5Eb21FdmVudC5vbihsZWFmbGV0c0NvbnRhaW5lciwgJ21vdXNlb3V0JywgZnVuY3Rpb24gKCkge1xuICAgIGN1c3RvbUNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9KTtcbn07XG5cbmNvbnN0IGNyZWF0ZUN1c3RvbUNvbnRyb2wgPSAoY29udHJvbCwgY29udGFpbmVyKSA9PiB7XG4gIGxldCBjb250cm9sQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGNvbnRyb2xDb250YWluZXIuY2xhc3NOYW1lID0gJ2xlYWZsZXQtY29udHJvbC1sYXllcnMtb3ZlcmxheXMnO1xuICBjb250cm9sQ29udGFpbmVyLmlubmVySFRNTCA9IGBcbiAgICAgIDxsYWJlbD5cbiAgICAgICAgPGlucHV0IHR5cGU9XCIke2NvbnRyb2wuaW5wdXRUeXBlfVwiIGlkPVwiJHtjb250cm9sLmlkfVwiIC8+ICR7Y29udHJvbC5sYWJlbH1cbiAgICAgIDwvbGFiZWw+XG4gICAgYDtcblxuICBjb250cm9sQ29udGFpbmVyXG4gICAgLnF1ZXJ5U2VsZWN0b3IoYCMke2NvbnRyb2wuaWR9YClcbiAgICAuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgIGNvbnN0IGlzQ2hlY2tlZCA9IGUudGFyZ2V0LmNoZWNrZWQ7XG4gICAgICBjb250cm9sLm9uQ2hhbmdlKGlzQ2hlY2tlZCk7XG4gICAgfSk7XG5cbiAgY29udHJvbENvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICBjb250YWluZXI/LmFwcGVuZENoaWxkKGNvbnRyb2xDb250YWluZXIpO1xuXG4gIGFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94KGNvbnRhaW5lciwgY29udHJvbENvbnRhaW5lcik7XG59O1xuXG5leHBvcnQgY29uc3QgY3VzdG9tRnVuY3Rpb25hbGl0eUZvck1hcExheWVycyA9IChcbiAgbWFwLFxuICBtYXBUeXBlcyxcbiAgZGVmYXVsdE9uID0gdHJ1ZSxcbiAgd2FJZCxcbiAgZm9yV1dUUERhc2hib2FyZCxcbikgPT4ge1xuICBsZXQgY29udHJvbGxlciA9IEwuY29udHJvbFxuICAgIC5sYXllcnMobWFwVHlwZXMsIHt9LCB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0pXG4gICAgLmFkZFRvKG1hcCk7XG4gIGxldCBjb250YWluZXIgPSBjb250cm9sbGVyLmdldENvbnRhaW5lcigpO1xuXG4gIGlmIChmb3JXV1RQRGFzaGJvYXJkKSB7XG4gICAgY3VzdG9tQ29udHJvbHMobWFwKS5mb3JFYWNoKChjb250cm9sKSA9PiB7XG4gICAgICBpZiAoY29udHJvbC5kZW55Rm9yV2EgJiYgY29udHJvbC5kZW55Rm9yV2EuaW5jbHVkZXMod2FJZCkpIHJldHVybjtcblxuICAgICAgY3JlYXRlQ3VzdG9tQ29udHJvbChjb250cm9sLCBjb250YWluZXIpO1xuICAgICAgZWRnZXNTcGVjaWZpY0xvZ2ljKGRlZmF1bHRPbiwgbWFwKTtcbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVNYXAgPSAoXG4gIG1hcFpvb21MZXZlbCxcbiAgbWFwQm94U3R5bGUsXG4gIG1hcEJveFNhdGVsbGl0ZVN0eWxlLFxuICBtYXBSZWYsXG4gIGRpc3BhdGNoLFxuICBpc1ZhbGlkQXJlYSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIHNldE1hcFpvb21MZXZlbCxcbiAgZm9yV1dUUERhc2hib2FyZCxcbiAgc2hvd0VkZ2VzQnlEZWZhdWx0LFxuICB3YUlkID0gMCxcbikgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIG1hcFJlZi5jdXJyZW50ID0gbmV3IEwuTWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIGF0dHJpYnV0aW9uQ29udHJvbDogZmFsc2UsXG4gICAgcHJlZmVyQ2FudmFzOiBmYWxzZSxcbiAgfSk7XG5cbiAgaWYgKGZvcldXVFBEYXNoYm9hcmQpIGRpc3BhdGNoKHNldE1hcChtYXBSZWYuY3VycmVudCkpO1xuXG4gIG1hcFJlZi5jdXJyZW50LndoZW5SZWFkeSgoKSA9PiB7XG4gICAgbGV0IG1hcCA9IG1hcFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IG1hcFR5cGVzID0gYmFzZU1hcHMobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKTtcblxuICAgIGN1c3RvbUZ1bmN0aW9uYWxpdHlGb3JNYXBMYXllcnMoXG4gICAgICBtYXAsXG4gICAgICBtYXBUeXBlcyxcbiAgICAgIHNob3dFZGdlc0J5RGVmYXVsdCxcbiAgICAgIHdhSWQsXG4gICAgICBmb3JXV1RQRGFzaGJvYXJkLFxuICAgICk7XG5cbiAgICAvLyBUaGUgbmFtZSBvZiB0aGUgbGF5ZXIgY2hhbmdlcyBiZXR3ZWVuIGxhbmd1YWdlcyBzbyB0aGVyZSB3YXMgYSBuZWVkIHRvIGdldCB0byB0aGUgZmlyc3QgbGF5ZXJcbiAgICBPYmplY3QudmFsdWVzKG1hcFR5cGVzKVswXS5hZGRUbyhtYXApO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyJywgZXJyKTtcbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAobWFwUmVmLmN1cnJlbnQpKTtcbiAgICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCh0cnVlKSk7XG5cbiAgICAgIG1hcC5vbigna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQub3JpZ2luYWxFdmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsdXN0ZXJHcm91cE9wdGlvbnMgPSB7XG4gIHNwaWRlcmZ5T25NYXhab29tOiBmYWxzZSxcbiAgc2hvd0NvdmVyYWdlT25Ib3ZlcjogZmFsc2UsXG4gIHpvb21Ub0JvdW5kc09uQ2xpY2s6IHRydWUsXG4gIGFuaW1hdGU6IHRydWUsXG4gIGRpc2FibGVDbHVzdGVyaW5nQXRab29tOiAxMCxcbiAgcmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHM6IGZhbHNlLFxuICBjaHVua2VkTG9hZGluZzogdHJ1ZSxcbiAgaWNvbkNyZWF0ZUZ1bmN0aW9uOiAoY2x1c3RlcikgPT4ge1xuICAgIHJldHVybiBuZXcgTC5EaXZJY29uKHtcbiAgICAgIGh0bWw6IGA8ZGl2PjxzcGFuPiR7Y2x1c3Rlci5fY2hpbGRDb3VudH08L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFya2VyLWNsdXN0ZXItbmFtZSc+JHtpMThuLnQoJ2luZHVzdHJpZXMnKX08L2Rpdj5gLFxuICAgICAgY2xhc3NOYW1lOiAnbWFya2VyLWNsdXN0ZXInLFxuICAgICAgaWNvblNpemU6IG5ldyBMLlBvaW50KDQwLCA0MCksXG4gICAgfSk7XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUxldmVscyA9IHtcbiAgMTogJ1hMYXJnZScsXG4gIDI6ICdYTGFyZ2UnLFxuICAzOiAnWExhcmdlJyxcbiAgNDogJ1hMYXJnZScsXG4gIDU6ICdYTGFyZ2UnLFxuICA2OiAnWExhcmdlJyxcbiAgNzogJ0xhcmdlJyxcbiAgODogJ0xhcmdlJyxcbiAgOTogJ0xhcmdlJyxcbiAgMTA6ICdMYXJnZScsXG4gIDExOiAnTUxhcmdlJyxcbiAgMTI6ICdNTGFyZ2UnLFxuICAxMzogJ01MYXJnZScsXG4gIDE0OiAnTUxhcmdlJyxcbiAgMTU6ICdNZWRpdW0nLFxuICAxNjogJ01lZGl1bScsXG4gIDE3OiAnU21hbGwnLFxuICAxODogJ1NtYWxsJyxcbn07XG5cbi8vIGV4cG9ydCBjb25zdCBmaWx0ZXJQb2ludHMgPSAocG9pbnRzLCBoYXNEZXZpY2UpID0+XG4vLyAgIHBvaW50cy5maWx0ZXIoKHBvaW50KSA9PiBwb2ludC5oYXNfZGV2aWNlID09PSBoYXNEZXZpY2UpO1xuXG4vLyBVdGlsaXR5IGZ1bmN0aW9uIGZvciBmaWx0ZXJpbmcgcG9pbnRzIGJhc2VkIG9uIG9wdGlvbnNcbmV4cG9ydCBjb25zdCBmaWx0ZXJQb2ludHMgPSAoXG4gIHBvaW50czogSVBvaW50W10gPSBbXSxcbiAge1xuICAgIG9ubHlNb25pdG9yZWQgPSBmYWxzZSxcbiAgICB3aXRoU2FtcGxlciA9IGZhbHNlLFxuICB9OiB7IG9ubHlNb25pdG9yZWQ/OiBib29sZWFuOyB3aXRoU2FtcGxlcj86IGJvb2xlYW4gfSxcbik6IElQb2ludFtdID0+IHtcbiAgcmV0dXJuIHBvaW50cy5maWx0ZXIoKHBvaW50KSA9PiB7XG4gICAgaWYgKG9ubHlNb25pdG9yZWQgJiYgIXBvaW50Lmhhc19kZXZpY2UpIHJldHVybiBmYWxzZTtcbiAgICBpZiAod2l0aFNhbXBsZXIgJiYgIXBvaW50Lmhhc19zYW1wbGVyKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRQb2ludCA9IChwb2ludHMsIHBvaW50SWQsIGhhc0RldmljZUNoZWNrKSA9PlxuICBwb2ludHMuZmluZCgocG9pbnQpID0+IHBvaW50LmlkID09PSBwb2ludElkICYmIGhhc0RldmljZUNoZWNrKHBvaW50KSk7XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJFZGdlcyA9IChlZGdlcywgcG9pbnRzLCBpc01vbml0b3JlZCkgPT5cbiAgZWRnZXMuZmlsdGVyKChlZGdlKSA9PiB7XG4gICAgY29uc3Qgc291cmNlUG9pbnQgPSBmaW5kUG9pbnQocG9pbnRzLCBlZGdlLnNvdXJjZV9wb2ludF9pZCwgKHBvaW50KSA9PlxuICAgICAgaXNNb25pdG9yZWRcbiAgICAgICAgPyBwb2ludC5oYXNfZGV2aWNlIHx8IGVkZ2UuZGVzY2VuZGFudHNfaGFzX2RldmljZVxuICAgICAgICA6ICFwb2ludC5kZXNjZW5kYW50c19oYXNfZGV2aWNlLFxuICAgICk7XG5cbiAgICBjb25zdCBwYXJlbnRQb2ludCA9IGZpbmRQb2ludChwb2ludHMsIGVkZ2UudGFyZ2V0X3BvaW50X2lkLCAocG9pbnQpID0+XG4gICAgICBpc01vbml0b3JlZFxuICAgICAgICA/IGVkZ2UuZGVzY2VuZGFudHNfaGFzX2RldmljZSB8fCBzb3VyY2VQb2ludCAhPT0gdW5kZWZpbmVkXG4gICAgICAgIDogIXBvaW50LmRlc2NlbmRhbnRzX2hhc19kZXZpY2UsXG4gICAgKTtcblxuICAgIHJldHVybiBzb3VyY2VQb2ludCAmJiBwYXJlbnRQb2ludDtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBzZXR1cENoZWNrYm94TGlzdGVuZXIgPSAoc2VsZWN0b3IsIG9uQ2hhbmdlKSA9PiB7XG4gIGNvbnN0IGNoZWNrYm94ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gIGlmIChjaGVja2JveCA9PT0gbnVsbCkgcmV0dXJuO1xuICBjaGVja2JveC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoKSA9PiBvbkNoYW5nZShjaGVja2JveC5jaGVja2VkKSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLG1CQUFBLEdBQUFILE9BQUE7QUFHTyxJQUFNSSxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUlDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxjQUFjLEVBQUs7RUFDckUsSUFBSUMsV0FBZ0IsR0FBR0gsTUFBTSxDQUFDSSxPQUFPO0VBQ3JDLElBQUlILFdBQVcsQ0FBQ0MsY0FBYyxDQUFDLEVBQUU7SUFDL0JDLFdBQVcsQ0FBQ0UsU0FBUyxDQUFDSCxjQUFjLEVBQUU7TUFBRUksT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFBRSxDQUFDLENBQUM7RUFDNUQsQ0FBQyxNQUFNO0lBQ0wsSUFBTUMsS0FBWSxHQUFHLEVBQUU7SUFFdkIsS0FBSyxJQUFNQyxRQUFRLElBQUlMLFdBQVcsQ0FBQ00sT0FBTyxFQUFFO01BQzFDLElBQ0VOLFdBQVcsQ0FBQ00sT0FBTyxDQUFDRCxRQUFRLENBQUMsQ0FBQ0UsWUFBWSxLQUFLLE1BQU0sSUFDckRQLFdBQVcsQ0FBQ00sT0FBTyxDQUFDRCxRQUFRLENBQUMsQ0FBQ0UsWUFBWSxLQUFLLE9BQU8sRUFDdEQ7UUFDQUgsS0FBSyxDQUFDSSxJQUFJLENBQUNSLFdBQVcsQ0FBQ00sT0FBTyxDQUFDRCxR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
426
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJleHBvcnRzIiwiYXJlYSIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHMiLCJlZGdlcyIsIm1hcCIsInVuZGVmaW5lZCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJhcmVhcyIsImdsb2JhbCIsImZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAiLCJsYXllcnNUb0ZpbmQiLCJjdXJyZW50TGF5ZXIiLCJpbmNsdWRlcyIsImthbmRvX3BvaW50X3R5cGUiLCJldmVudHNDb3VudGVySWNvbnMiLCJsYXllciIsInpvb21MZXZlbCIsImljb24iLCJvcHRpb25zIiwiaWNvblNpemUiLCJldmVudHNDb3VudEljb24iLCJpY29uQW5jaG9yIiwic2V0SWNvbiIsInNldE9wYWNpdHkiLCJtdWx0aXBsZUxheWVyZWRJY29ucyIsImlzQUZld0xheWVySWNvbiIsImthbmRvX2Zld19sYXllcl9pY29uIiwibWluaUljb24iLCJwcmVzZW50Iiwia2FuZG9fc2Vjb25kYXJ5Iiwia2FuZG9fdGhpcmQiLCJzZWNvbmRhcnkiLCJ0aGlyZCIsImthbmRvX2luZGV4X29iamVjdCIsImJ1YmJsZUljb25PcHRpb25zIiwib25lTGF5ZXJJY29uT3B0aW9ucyIsIm1pZGRsZUljb25PcHRpb25zIiwidG9wSWNvbk9wdGlvbnMiLCJpY29uWm9vbUNvbnRyb2wiLCJsYXllcnMiLCJfem9vbSIsIm1hcFN0eWxlIiwibWFwQm94U3R5bGUiLCJ0aWxlTGF5ZXIiLCJjb25jYXQiLCJhdHRyaWJ1dGlvbiIsIm1heFpvb20iLCJtaW5ab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsIl9yZWYiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSIsInZpc2libGUiLCJlYWNoTGF5ZXIiLCJQb2x5bGluZSIsIlN5bWJvbCIsImFycm93SGVhZCIsInNldFN0eWxlIiwib3BhY2l0eSIsImVkZ2VzU3BlY2lmaWNMb2dpYyIsImRlZmF1bHRPbiIsImNoZWNrYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY2hlY2tlZCIsImN1c3RvbUNvbnRyb2xzIiwibGFiZWwiLCJpbnB1dFR5cGUiLCJkZW55Rm9yV2EiLCJvbkNoYW5nZSIsImlzQ2hlY2tlZCIsImFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94IiwibGVhZmxldHNDb250YWluZXIiLCJjdXN0b21Db250YWluZXIiLCJEb21FdmVudCIsIm9uIiwic3R5bGUiLCJkaXNwbGF5IiwiY3JlYXRlQ3VzdG9tQ29udHJvbCIsImNvbnRyb2wiLCJjb250YWluZXIiLCJjb250cm9sQ29udGFpbmVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlubmVySFRNTCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwidGFyZ2V0IiwiYXBwZW5kQ2hpbGQiLCJjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzIiwibWFwVHlwZXMiLCJhcmd1bWVudHMiLCJ3YUlkIiwiZm9yV1dUUERhc2hib2FyZCIsImNvbnRyb2xsZXIiLCJwb3NpdGlvbiIsImFkZFRvIiwiZ2V0Q29udGFpbmVyIiwiZm9yRWFjaCIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsInNob3dFZGdlc0J5RGVmYXVsdCIsIk1hcCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsInNldE1hcCIsIndoZW5SZWFkeSIsInZhbHVlcyIsInNldFRpbWVvdXQiLCJpbnZhbGlkYXRlU2l6ZSIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsInN0b3JlTWFwIiwic2lkZU5hdkV4cGFuZGVkIiwiZXZlbnQiLCJvcmlnaW5hbEV2ZW50Iiwia2V5IiwiY2xvc2VQb3B1cCIsImJvZHkiLCJmb2N1cyIsImdldFpvb20iLCJjbHVzdGVyR3JvdXBPcHRpb25zIiwic3BpZGVyZnlPbk1heFpvb20iLCJzaG93Q292ZXJhZ2VPbkhvdmVyIiwiem9vbVRvQm91bmRzT25DbGljayIsImFuaW1hdGUiLCJkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbSIsInJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzIiwiY2h1bmtlZExvYWRpbmciLCJpY29uQ3JlYXRlRnVuY3Rpb24iLCJjbHVzdGVyIiwiRGl2SWNvbiIsImh0bWwiLCJfY2hpbGRDb3VudCIsIlBvaW50Iiwiem9vbUxldmVscyIsImZpbHRlclBvaW50cyIsIl9yZWYyIiwib25seU1vbml0b3JlZCIsIndpdGhTYW1wbGVyIiwiZmlsdGVyIiwicG9pbnQiLCJoYXNfZGV2aWNlIiwiaGFzX3NhbXBsZXIiLCJmaW5kUG9pbnQiLCJwb2ludElkIiwiaGFzRGV2aWNlQ2hlY2siLCJmaW5kIiwiZmlsdGVyRWRnZXMiLCJpc01vbml0b3JlZCIsImVkZ2UiLCJzb3VyY2VQb2ludCIsInNvdXJjZV9wb2ludF9pZCIsImRlc2NlbmRhbnRzX2hhc19kZXZpY2UiLCJwYXJlbnRQb2ludCIsInRhcmdldF9wb2ludF9pZCIsInNldHVwQ2hlY2tib3hMaXN0ZW5lciIsInNlbGVjdG9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IFBvaW50VHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNpZGVOYXZFeHBhbmRlZCwgc3RvcmVNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgc2V0TWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnIHx8XG4gICAgICAgIG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1BvaW50J1xuICAgICAgKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8vIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgcG9pbnRzLCBlZGdlcykgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbF9kYXRhLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgcG9pbnRzICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzID0gKFxuICBlZGdlcyxcbiAgYXJlYXMsXG4gIGdsb2JhbCxcbiAgbWFwUmVmLFxuICBwb2ludHMsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWwubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzLmxlbmd0aCA+PSAwICYmXG4gICAgYXJlYXMubGVuZ3RoID49IDAgJiZcbiAgICBwb2ludHMubGVuZ3RoID49IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuNywgem9vbUxldmVsICogMy43XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50SWNvbiA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSBhcyBQb2ludFR1cGxlLFxuICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDJdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjk4LCB6b29tTGV2ZWwgKiA0LjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWlkZGxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDMuNV0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAxLjVdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuMjk1LCB6b29tTGV2ZWwgKiAzLjM1XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9wSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMC45LCB6b29tTGV2ZWwgKiAxLjhdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS42LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuMiwgem9vbUxldmVsICogMi4xXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpY29uWm9vbUNvbnRyb2wgPSAobWFwKSA9PiB7XG4gIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgbGV0IHpvb21MZXZlbCA9IG1hcC5fem9vbTtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnSWNvbk51bWJlciddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgZXZlbnRzQ291bnRlckljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydQb2ludCcsICdJY29uJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydTYW1wbGluZycsICdPYnNlcnZhdGlvbiddLCBsYXllcnNbcHJvcGVydHldKVxuICAgICkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtYXBTdHlsZSA9IChtYXBCb3hTdHlsZSkgPT4ge1xuICByZXR1cm4gTC50aWxlTGF5ZXIoXG4gICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAge1xuICAgICAgYXR0cmlidXRpb246XG4gICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICBtaW5ab29tOiAyLFxuICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgdGlsZVNpemU6IDUxMixcbiAgICAgIHpvb21PZmZzZXQ6IC0xLFxuICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgdXBkYXRlV2hlbklkbGU6IGZhbHNlLFxuICAgIH0sXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSA9ICh2aXNpYmxlLCBtYXApID0+IHtcbiAgbWFwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlsaW5lICYmIGxheWVyLmthbmRvX29iamVjdCAhPT0gJ0FyZWEnKSB8fFxuICAgICAgbGF5ZXIgaW5zdGFuY2VvZiBMLlN5bWJvbC5hcnJvd0hlYWRcbiAgICApIHtcbiAgICAgIGxheWVyLnNldFN0eWxlKHsgb3BhY2l0eTogdmlzaWJsZSA/IDEgOiAwIH0pO1xuICAgIH1cbiAgfSk7XG59O1xuXG4vLyBleHBvcnQgY29uc3QgdG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eSA9ICh2aXNpYmxlKSA9PiB7XG4vLyAgIGNvbnNvbGUud2FybigndG9nZ2xlTW9uaXRvcmVkUG9pbnRzVmlzaWJpbGl0eScsIHZpc2libGUpO1xuLy8gfTtcblxuLy8gZXhwb3J0IGNvbnN0IHRvZ2dsZU1vbml0b3JlZFBvaW50c1dpdGhTYW1wbGVyVmlzaWJpbGl0eSA9ICh2aXNpYmxlKSA9PiB7XG4vLyAgIGNvbnNvbGUud2FybigndG9nZ2xlTW9uaXRvcmVkUG9pbnRzV2l0aFNhbXBsZXJWaXNpYmlsaXR5JywgdmlzaWJsZSk7XG4vLyB9O1xuXG5leHBvcnQgY29uc3QgZWRnZXNTcGVjaWZpY0xvZ2ljID0gKGRlZmF1bHRPbiwgbWFwKSA9PiB7XG4gIGxldCBjaGVja2JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNlZGdlcy1jaGVja2JveCcpO1xuICBpZiAoY2hlY2tib3ggPT0gbnVsbCkgcmV0dXJuO1xuICBjaGVja2JveC5jaGVja2VkID0gZGVmYXVsdE9uO1xufTtcblxuY29uc3QgY3VzdG9tQ29udHJvbHMgPSAobWFwKSA9PiB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgbGFiZWw6IGkxOG4udCgnbWFwLmxheWVycy5uZXR3b3JrX2xpbmVzJyksXG4gICAgICBpZDogJ2VkZ2VzLWNoZWNrYm94JyxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGRlbnlGb3JXYTogWzUxOF0sXG4gICAgICBvbkNoYW5nZTogKGlzQ2hlY2tlZCkgPT4gdG9nZ2xlRWRnZXNWaXNpYmlsaXR5KGlzQ2hlY2tlZCwgbWFwKSxcbiAgICB9LFxuXG4gICAge1xuICAgICAgbGFiZWw6ICdTaG93IG9ubHkgbW9uaXRvcmVkIHBvaW50cycsXG4gICAgICBpZDogJ21vbml0b3JlZC1wb2ludHMtY2hlY2tib3gnLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAgb25DaGFuZ2U6IChpc0NoZWNrZWQpID0+ICgpID0+IHt9LFxuICAgIH0sXG5cbiAgICB7XG4gICAgICBsYWJlbDogJ1Nob3cgb25seSBwb2ludHMgd2l0aCBzYW1wbGVyJyxcbiAgICAgIGlkOiAnbW9uaXRvcmVkLXBvaW50cy13aXRoLXNhbXBsZXItY2hlY2tib3gnLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAgb25DaGFuZ2U6IChpc0NoZWNrZWQpID0+ICgpID0+IHt9LFxuICAgIH0sXG5cbiAgICAvLyB7XG4gICAgLy8gICBsYWJlbDogJ0Fub3RoZXIgY3VzdG9tIGZlYXR1cmUnLFxuICAgIC8vICAgaWQ6ICdjdXN0b20tZmVhdHVyZS1jaGVja2JveCcsXG4gICAgLy8gICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgLy8gICBvbkNoYW5nZTogKGlzQ2hlY2tlZCkgPT4gY29uc29sZS5sb2coYEFub3RoZXIgZmVhdHVyZSBpcyBub3cgJHtpc0NoZWNrZWQgPyAnZW5hYmxlZCcgOiAnZGlzYWJsZWQnfWApLFxuICAgIC8vIH0sXG4gIF07XG59O1xuXG5jb25zdCBhcHBlbmRDdXN0b21DaGVja2JveFRvTGVhZmxldHNMYXllckJveCA9IChcbiAgbGVhZmxldHNDb250YWluZXIsXG4gIGN1c3RvbUNvbnRhaW5lcixcbikgPT4ge1xuICBMLkRvbUV2ZW50Lm9uKGxlYWZsZXRzQ29udGFpbmVyLCAnbW91c2VvdmVyJywgZnVuY3Rpb24gKCkge1xuICAgIGN1c3RvbUNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgfSk7XG5cbiAgTC5Eb21FdmVudC5vbihsZWFmbGV0c0NvbnRhaW5lciwgJ21vdXNlb3V0JywgZnVuY3Rpb24gKCkge1xuICAgIGN1c3RvbUNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9KTtcbn07XG5cbmNvbnN0IGNyZWF0ZUN1c3RvbUNvbnRyb2wgPSAoY29udHJvbCwgY29udGFpbmVyKSA9PiB7XG4gIGxldCBjb250cm9sQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGNvbnRyb2xDb250YWluZXIuY2xhc3NOYW1lID0gJ2xlYWZsZXQtY29udHJvbC1sYXllcnMtb3ZlcmxheXMnO1xuICBjb250cm9sQ29udGFpbmVyLmlubmVySFRNTCA9IGBcbiAgICAgIDxsYWJlbD5cbiAgICAgICAgPGlucHV0IHR5cGU9XCIke2NvbnRyb2wuaW5wdXRUeXBlfVwiIGlkPVwiJHtjb250cm9sLmlkfVwiIC8+ICR7Y29udHJvbC5sYWJlbH1cbiAgICAgIDwvbGFiZWw+XG4gICAgYDtcblxuICBjb250cm9sQ29udGFpbmVyXG4gICAgLnF1ZXJ5U2VsZWN0b3IoYCMke2NvbnRyb2wuaWR9YClcbiAgICAuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgIGNvbnN0IGlzQ2hlY2tlZCA9IGUudGFyZ2V0LmNoZWNrZWQ7XG4gICAgICBjb250cm9sLm9uQ2hhbmdlKGlzQ2hlY2tlZCk7XG4gICAgfSk7XG5cbiAgY29udHJvbENvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICBjb250YWluZXI/LmFwcGVuZENoaWxkKGNvbnRyb2xDb250YWluZXIpO1xuXG4gIGFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94KGNvbnRhaW5lciwgY29udHJvbENvbnRhaW5lcik7XG59O1xuXG5leHBvcnQgY29uc3QgY3VzdG9tRnVuY3Rpb25hbGl0eUZvck1hcExheWVycyA9IChcbiAgbWFwLFxuICBtYXBUeXBlcyxcbiAgZGVmYXVsdE9uID0gdHJ1ZSxcbiAgd2FJZCxcbiAgZm9yV1dUUERhc2hib2FyZCxcbikgPT4ge1xuICBsZXQgY29udHJvbGxlciA9IEwuY29udHJvbFxuICAgIC5sYXllcnMobWFwVHlwZXMsIHt9LCB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0pXG4gICAgLmFkZFRvKG1hcCk7XG4gIGxldCBjb250YWluZXIgPSBjb250cm9sbGVyLmdldENvbnRhaW5lcigpO1xuXG4gIGlmIChmb3JXV1RQRGFzaGJvYXJkKSB7XG4gICAgY3VzdG9tQ29udHJvbHMobWFwKS5mb3JFYWNoKChjb250cm9sKSA9PiB7XG4gICAgICBpZiAoY29udHJvbC5kZW55Rm9yV2EgJiYgY29udHJvbC5kZW55Rm9yV2EuaW5jbHVkZXMod2FJZCkpIHJldHVybjtcblxuICAgICAgY3JlYXRlQ3VzdG9tQ29udHJvbChjb250cm9sLCBjb250YWluZXIpO1xuICAgICAgZWRnZXNTcGVjaWZpY0xvZ2ljKGRlZmF1bHRPbiwgbWFwKTtcbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVNYXAgPSAoXG4gIG1hcFpvb21MZXZlbCxcbiAgbWFwQm94U3R5bGUsXG4gIG1hcEJveFNhdGVsbGl0ZVN0eWxlLFxuICBtYXBSZWYsXG4gIGRpc3BhdGNoLFxuICBpc1ZhbGlkQXJlYSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIHNldE1hcFpvb21MZXZlbCxcbiAgZm9yV1dUUERhc2hib2FyZCxcbiAgc2hvd0VkZ2VzQnlEZWZhdWx0LFxuICB3YUlkID0gMCxcbikgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIG1hcFJlZi5jdXJyZW50ID0gbmV3IEwuTWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIGF0dHJpYnV0aW9uQ29udHJvbDogZmFsc2UsXG4gICAgcHJlZmVyQ2FudmFzOiBmYWxzZSxcbiAgfSk7XG5cbiAgaWYgKGZvcldXVFBEYXNoYm9hcmQpIGRpc3BhdGNoKHNldE1hcChtYXBSZWYuY3VycmVudCkpO1xuXG4gIG1hcFJlZi5jdXJyZW50LndoZW5SZWFkeSgoKSA9PiB7XG4gICAgbGV0IG1hcCA9IG1hcFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IG1hcFR5cGVzID0gYmFzZU1hcHMobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKTtcblxuICAgIGN1c3RvbUZ1bmN0aW9uYWxpdHlGb3JNYXBMYXllcnMoXG4gICAgICBtYXAsXG4gICAgICBtYXBUeXBlcyxcbiAgICAgIHNob3dFZGdlc0J5RGVmYXVsdCxcbiAgICAgIHdhSWQsXG4gICAgICBmb3JXV1RQRGFzaGJvYXJkLFxuICAgICk7XG5cbiAgICAvLyBUaGUgbmFtZSBvZiB0aGUgbGF5ZXIgY2hhbmdlcyBiZXR3ZWVuIGxhbmd1YWdlcyBzbyB0aGVyZSB3YXMgYSBuZWVkIHRvIGdldCB0byB0aGUgZmlyc3QgbGF5ZXJcbiAgICBPYmplY3QudmFsdWVzKG1hcFR5cGVzKVswXS5hZGRUbyhtYXApO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyJywgZXJyKTtcbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAobWFwUmVmLmN1cnJlbnQpKTtcbiAgICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCh0cnVlKSk7XG5cbiAgICAgIG1hcC5vbigna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQub3JpZ2luYWxFdmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsdXN0ZXJHcm91cE9wdGlvbnMgPSB7XG4gIHNwaWRlcmZ5T25NYXhab29tOiBmYWxzZSxcbiAgc2hvd0NvdmVyYWdlT25Ib3ZlcjogZmFsc2UsXG4gIHpvb21Ub0JvdW5kc09uQ2xpY2s6IHRydWUsXG4gIGFuaW1hdGU6IHRydWUsXG4gIGRpc2FibGVDbHVzdGVyaW5nQXRab29tOiAxMCxcbiAgcmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHM6IGZhbHNlLFxuICBjaHVua2VkTG9hZGluZzogdHJ1ZSxcbiAgaWNvbkNyZWF0ZUZ1bmN0aW9uOiAoY2x1c3RlcikgPT4ge1xuICAgIHJldHVybiBuZXcgTC5EaXZJY29uKHtcbiAgICAgIGh0bWw6IGA8ZGl2PjxzcGFuPiR7Y2x1c3Rlci5fY2hpbGRDb3VudH08L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFya2VyLWNsdXN0ZXItbmFtZSc+JHtpMThuLnQoJ2luZHVzdHJpZXMnKX08L2Rpdj5gLFxuICAgICAgY2xhc3NOYW1lOiAnbWFya2VyLWNsdXN0ZXInLFxuICAgICAgaWNvblNpemU6IG5ldyBMLlBvaW50KDQwLCA0MCksXG4gICAgfSk7XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUxldmVscyA9IHtcbiAgMTogJ1hMYXJnZScsXG4gIDI6ICdYTGFyZ2UnLFxuICAzOiAnWExhcmdlJyxcbiAgNDogJ1hMYXJnZScsXG4gIDU6ICdYTGFyZ2UnLFxuICA2OiAnWExhcmdlJyxcbiAgNzogJ0xhcmdlJyxcbiAgODogJ0xhcmdlJyxcbiAgOTogJ0xhcmdlJyxcbiAgMTA6ICdMYXJnZScsXG4gIDExOiAnTUxhcmdlJyxcbiAgMTI6ICdNTGFyZ2UnLFxuICAxMzogJ01MYXJnZScsXG4gIDE0OiAnTUxhcmdlJyxcbiAgMTU6ICdNZWRpdW0nLFxuICAxNjogJ01lZGl1bScsXG4gIDE3OiAnU21hbGwnLFxuICAxODogJ1NtYWxsJyxcbn07XG5cbi8vIGV4cG9ydCBjb25zdCBmaWx0ZXJQb2ludHMgPSAocG9pbnRzLCBoYXNEZXZpY2UpID0+XG4vLyAgIHBvaW50cy5maWx0ZXIoKHBvaW50KSA9PiBwb2ludC5oYXNfZGV2aWNlID09PSBoYXNEZXZpY2UpO1xuXG4vLyBVdGlsaXR5IGZ1bmN0aW9uIGZvciBmaWx0ZXJpbmcgcG9pbnRzIGJhc2VkIG9uIG9wdGlvbnNcbmV4cG9ydCBjb25zdCBmaWx0ZXJQb2ludHMgPSAoXG4gIHBvaW50czogSVBvaW50W10gPSBbXSxcbiAge1xuICAgIG9ubHlNb25pdG9yZWQsXG4gICAgd2l0aFNhbXBsZXIsXG4gIH06IHsgb25seU1vbml0b3JlZD86IGJvb2xlYW47IHdpdGhTYW1wbGVyPzogYm9vbGVhbiB9ID0ge30sXG4pOiBJUG9pbnRbXSA9PiB7XG4gIHJldHVybiBwb2ludHMuZmlsdGVyKChwb2ludCkgPT4ge1xuICAgIGlmIChvbmx5TW9uaXRvcmVkID09PSB0cnVlICYmICFwb2ludC5oYXNfZGV2aWNlKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKG9ubHlNb25pdG9yZWQgPT09IGZhbHNlICYmIHBvaW50Lmhhc19kZXZpY2UpIHJldHVybiBmYWxzZTtcbiAgICBpZiAod2l0aFNhbXBsZXIgPT09IHRydWUgJiYgIXBvaW50Lmhhc19zYW1wbGVyKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHdpdGhTYW1wbGVyID09PSBmYWxzZSAmJiBwb2ludC5oYXNfc2FtcGxlcikgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kUG9pbnQgPSAocG9pbnRzLCBwb2ludElkLCBoYXNEZXZpY2VDaGVjaykgPT5cbiAgcG9pbnRzLmZpbmQoKHBvaW50KSA9PiBwb2ludC5pZCA9PT0gcG9pbnRJZCAmJiBoYXNEZXZpY2VDaGVjayhwb2ludCkpO1xuXG5leHBvcnQgY29uc3QgZmlsdGVyRWRnZXMgPSAoZWRnZXMsIHBvaW50cywgaXNNb25pdG9yZWQpID0+XG4gIGVkZ2VzLmZpbHRlcigoZWRnZSkgPT4ge1xuICAgIGNvbnN0IHNvdXJjZVBvaW50ID0gZmluZFBvaW50KHBvaW50cywgZWRnZS5zb3VyY2VfcG9pbnRfaWQsIChwb2ludCkgPT5cbiAgICAgIGlzTW9uaXRvcmVkXG4gICAgICAgID8gcG9pbnQuaGFzX2RldmljZSB8fCBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2VcbiAgICAgICAgOiAhcG9pbnQuZGVzY2VuZGFudHNfaGFzX2RldmljZSxcbiAgICApO1xuXG4gICAgY29uc3QgcGFyZW50UG9pbnQgPSBmaW5kUG9pbnQocG9pbnRzLCBlZGdlLnRhcmdldF9wb2ludF9pZCwgKHBvaW50KSA9PlxuICAgICAgaXNNb25pdG9yZWRcbiAgICAgICAgPyBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UgfHwgc291cmNlUG9pbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICA6ICFwb2ludC5kZXNjZW5kYW50c19oYXNfZGV2aWNlLFxuICAgICk7XG5cbiAgICByZXR1cm4gc291cmNlUG9pbnQgJiYgcGFyZW50UG9pbnQ7XG4gIH0pO1xuXG5leHBvcnQgY29uc3Qgc2V0dXBDaGVja2JveExpc3RlbmVyID0gKHNlbGVjdG9yLCBvbkNoYW5nZSkgPT4ge1xuICBjb25zdCBjaGVja2JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuICBpZiAoY2hlY2tib3ggPT09IG51bGwpIHJldHVybjtcbiAgY2hlY2tib3guYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgKCkgPT4gb25DaGFuZ2UoY2hlY2tib3guY2hlY2tlZCkpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxtQkFBQSxHQUFBSCxPQUFBO0FBR08sSUFBTUksY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsY0FBYyxFQUFLO0VBQ3JFLElBQUlDLFdBQWdCLEdBQUdILE1BQU0sQ0FBQ0ksT0FBTztFQUNyQyxJQUFJSCxXQUFXLENBQUNDLGNBQWMsQ0FBQyxFQUFFO0lBQy9CQyxXQUFXLENBQUNFLFNBQVMsQ0FBQ0gsY0FBYyxFQUFFO01BQUVJLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQzVELENBQUMsTUFBTTtJQUNMLElBQU1DLEtBQVksR0FBRyxFQUFFO0lBRXZCLEtBQUssSUFBTUMsUUFBUSxJQUFJTCxXQUFXLENBQUNNLE9BQU8sRUFBRTtNQUMxQyxJQUNFTixXQUFXLENBQUNNLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUNFLFlBQVksS0FBSyxNQUFNLElBQ3JEUCxXQUFXLENBQUNN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
@@ -87,8 +87,8 @@ var EventPath = function EventPath(_ref) {
87
87
  renderEventPath(event, event.hovered);
88
88
  }
89
89
  }, [event]);
90
- return /*#__PURE__*/_react.default.createElement("div", null);
90
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
91
91
  };
92
92
  var _default = EventPath;
93
93
  exports.default = _default;
94
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFdmVudFBhdGgiLCJfcmVmIiwiZXZlbnQiLCJnbG9iYWxfZGF0YSIsIl9yZWYkZXZlbnRQYXRocyIsImV2ZW50UGF0aHMiLCJtYXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiZHJhd1BvbHlsaW5lIiwibGF5ZXJMYXRsbmdzIiwiZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyIsImV2ZW50UGF0aCIsIkwiLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0IiwiY2xhc3NOYW1lIiwic3Ryb2tlIiwiYWRkVG8iLCJwdXNoIiwiaWQiLCJ0YWlsRGFzaCIsIndpbmRvdyIsIlN5bWJvbCIsInVuZGVmaW5lZCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsIm9wYWNpdHkiLCJob3ZlcmVkIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsInJlbmRlckV2ZW50UGF0aCIsImlzSG92ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicGF0aCIsImZvckVhY2giLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdF9pZCIsImVkZ2VfaWQiLCJrYW5kb19vYmplY3QiLCJnZXRMYXRMbmdzIiwibGVuZ3RoIiwic2V0VGltZW91dCIsImZpdEJvdW5kcyIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsInBhZCIsInVzZUVmZmVjdCIsInJlbW92ZUxheWVyIiwiY3JlYXRlRWxlbWVudCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRQYXRoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRFdmVudFBhdGhzLFxuICBzZXRIb3ZlcmVkRXZlbnRQYXRocyxcbn0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZ2xvYmFsX2RhdGE6IElHbG9iYWxTdGF0ZTtcbiAgZXZlbnRQYXRocz86IGFueVtdO1xufTtcblxuY29uc3QgRXZlbnRQYXRoOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHtcbiAgZXZlbnQsXG4gIGdsb2JhbF9kYXRhLFxuICBldmVudFBhdGhzID0gW10sXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGRyYXdQb2x5bGluZSA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIGxheWVyTGF0bG5nczogYW55LFxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueSxcbiAgKSA9PiB7XG4gICAgbGV0IGV2ZW50UGF0aCA9IEwucG9seWxpbmUobGF5ZXJMYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyMzYsMTE5LDE1NiknLFxuICAgICAgd2VpZ2h0OiAxMCxcbiAgICAgIGNsYXNzTmFtZTogJ2V2ZW50LXBhdGgnLFxuICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzLnB1c2goZXZlbnRQYXRoKTtcbiAgICBldmVudFBhdGhbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgZXZlbnRQYXRoWydrYW5kb19vYmplY3QnXSA9ICdFdmVudFBhdGgnO1xuXG4gICAgbGV0IHRhaWxEYXNoOiBhbnk7XG4gICAgaWYgKHdpbmRvdy5MLlN5bWJvbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0YWlsRGFzaCA9IHdpbmRvdy5MLnBvbHlsaW5lRGVjb3JhdG9yKGV2ZW50UGF0aC5fbGF0bG5ncywge1xuICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvZmZzZXQ6IDIwLFxuICAgICAgICAgICAgcmVwZWF0OiA2MCxcbiAgICAgICAgICAgIHN5bWJvbDogd2luZG93LkwuU3ltYm9sLmFycm93SGVhZCh7XG4gICAgICAgICAgICAgIHBpeGVsU2l6ZTogMyxcbiAgICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICAgIHBhdGhPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiKDI1NSwyNTUsMjU1KScsXG4gICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdBcnJvdyc7XG4gICAgfVxuXG4gICAgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cy5wdXNoKHRhaWxEYXNoKTtcbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnRQYXRocyhldmVudFBhdGhzQXNNYXBPYmplY3RzKSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlbmRlckV2ZW50UGF0aCA9IChldmVudDogSUV2ZW50LCBpc0hvdmVyOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKG1hcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgZXZlbnRQYXRoc0FzTWFwT2JqZWN0czogYW55W10gPSBbXTtcbiAgICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgICAgIGV2ZW50LnBhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBhdGguZWRnZV9pZCAmJlxuICAgICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdFZGdlJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgbGV0IGxheWVyTGF0bG5ncyA9IGxheWVyc1twcm9wZXJ0eV0uZ2V0TGF0TG5ncygpO1xuICAgICAgICAgICAgZHJhd1BvbHlsaW5lKGV2ZW50LCBsYXllckxhdGxuZ3MsIGV2ZW50UGF0aHNBc01hcE9iamVjdHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICghaXNIb3ZlciAmJiBldmVudFBhdGhzQXNNYXBPYmplY3RzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBtYXAuZml0Qm91bmRzKFxuICAgICAgICAgICAgTC5mZWF0dXJlR3JvdXAoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykuZ2V0Qm91bmRzKCkucGFkKDAuMSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSwgMTAwMCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGV2ZW50UGF0aHMpIHtcbiAgICAgIGV2ZW50UGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICB9KTtcblxuICAgICAgcmVuZGVyRXZlbnRQYXRoKGV2ZW50LCBldmVudC5ob3ZlcmVkKTtcbiAgICB9XG4gIH0sIFtldmVudF0pO1xuXG4gIHJldHVybiA8ZGl2PjwvZGl2Pjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50UGF0aDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFK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
94
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFdmVudFBhdGgiLCJfcmVmIiwiZXZlbnQiLCJnbG9iYWxfZGF0YSIsIl9yZWYkZXZlbnRQYXRocyIsImV2ZW50UGF0aHMiLCJtYXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiZHJhd1BvbHlsaW5lIiwibGF5ZXJMYXRsbmdzIiwiZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyIsImV2ZW50UGF0aCIsIkwiLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0IiwiY2xhc3NOYW1lIiwic3Ryb2tlIiwiYWRkVG8iLCJwdXNoIiwiaWQiLCJ0YWlsRGFzaCIsIndpbmRvdyIsIlN5bWJvbCIsInVuZGVmaW5lZCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsIm9wYWNpdHkiLCJob3ZlcmVkIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsInJlbmRlckV2ZW50UGF0aCIsImlzSG92ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicGF0aCIsImZvckVhY2giLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdF9pZCIsImVkZ2VfaWQiLCJrYW5kb19vYmplY3QiLCJnZXRMYXRMbmdzIiwibGVuZ3RoIiwic2V0VGltZW91dCIsImZpdEJvdW5kcyIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsInBhZCIsInVzZUVmZmVjdCIsInJlbW92ZUxheWVyIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFBhdGgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgc2V0Rm9jdXNlZEV2ZW50UGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudFBhdGhzLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBldmVudDogSUV2ZW50O1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBldmVudFBhdGhzPzogYW55W107XG59O1xuXG5jb25zdCBFdmVudFBhdGg6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBldmVudCxcbiAgZ2xvYmFsX2RhdGEsXG4gIGV2ZW50UGF0aHMgPSBbXSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgY29uc3QgZHJhd1BvbHlsaW5lID0gKFxuICAgIGV2ZW50OiBJRXZlbnQsXG4gICAgbGF5ZXJMYXRsbmdzOiBhbnksXG4gICAgZXZlbnRQYXRoc0FzTWFwT2JqZWN0czogYW55LFxuICApID0+IHtcbiAgICBsZXQgZXZlbnRQYXRoID0gTC5wb2x5bGluZShsYXllckxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDIzNiwxMTksMTU2KScsXG4gICAgICB3ZWlnaHQ6IDEwLFxuICAgICAgY2xhc3NOYW1lOiAnZXZlbnQtcGF0aCcsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgfSkuYWRkVG8obWFwKTtcblxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHMucHVzaChldmVudFBhdGgpO1xuICAgIGV2ZW50UGF0aFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICBldmVudFBhdGhbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50UGF0aCc7XG5cbiAgICBsZXQgdGFpbERhc2g6IGFueTtcbiAgICBpZiAod2luZG93LkwuU3ltYm9sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRhaWxEYXNoID0gd2luZG93LkwucG9seWxpbmVEZWNvcmF0b3IoZXZlbnRQYXRoLl9sYXRsbmdzLCB7XG4gICAgICAgIHBhdHRlcm5zOiBbXG4gICAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9mZnNldDogMjAsXG4gICAgICAgICAgICByZXBlYXQ6IDYwLFxuICAgICAgICAgICAgc3ltYm9sOiB3aW5kb3cuTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdyZ2IoMjU1LDI1NSwyNTUpJyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0Fycm93JztcbiAgICB9XG5cbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzLnB1c2godGFpbERhc2gpO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSB7XG4gICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhldmVudFBhdGhzQXNNYXBPYmplY3RzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudFBhdGhzKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyRXZlbnRQYXRoID0gKGV2ZW50OiBJRXZlbnQsIGlzSG92ZXI6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAobWFwICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBldmVudFBhdGhzQXNNYXBPYmplY3RzOiBhbnlbXSA9IFtdO1xuICAgICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgICAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXRoOiBhbnkpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdF9pZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdF9pZCA9PT0gcGF0aC5lZGdlX2lkICYmXG4gICAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0VkZ2UnXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBsZXQgbGF5ZXJMYXRsbmdzID0gbGF5ZXJzW3Byb3BlcnR5XS5nZXRMYXRMbmdzKCk7XG4gICAgICAgICAgICBkcmF3UG9seWxpbmUoZXZlbnQsIGxheWVyTGF0bG5ncywgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKCFpc0hvdmVyICYmIGV2ZW50UGF0aHNBc01hcE9iamVjdHMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIG1hcC5maXRCb3VuZHMoXG4gICAgICAgICAgICBMLmZlYXR1cmVHcm91cChldmVudFBhdGhzQXNNYXBPYmplY3RzKS5nZXRCb3VuZHMoKS5wYWQoMC4xKSxcbiAgICAgICAgICApO1xuICAgICAgICB9LCAxMDAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZXZlbnRQYXRocykge1xuICAgICAgZXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIH0pO1xuXG4gICAgICByZW5kZXJFdmVudFBhdGgoZXZlbnQsIGV2ZW50LmhvdmVyZWQpO1xuICAgIH1cbiAgfSwgW2V2ZW50XSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRXZlbnRQYXRoO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEs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
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.PointOfEvent = void 0;
9
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
9
10
  var _react = _interopRequireWildcard(require("react"));
10
11
  var _PointUtils = require("../points/PointUtils");
11
12
  var _reactDom = _interopRequireDefault(require("react-dom"));
@@ -15,9 +16,7 @@ var _jquery = _interopRequireDefault(require("jquery"));
15
16
  var _actions = require("../../../store/global/actions");
16
17
  var _reactRedux = require("react-redux");
17
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
- // import L, { LatLngTuple } from 'leaflet';
20
-
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
20
  var PointOfEvent = function PointOfEvent(_ref) {
22
21
  var map = _ref.map,
23
22
  point = _ref.point,
@@ -75,10 +74,14 @@ var PointOfEvent = function PointOfEvent(_ref) {
75
74
  layers[property].on('click', function () {
76
75
  layers[property].openPopup();
77
76
  });
77
+ return {
78
+ v: void 0
79
+ };
78
80
  }
79
81
  };
80
82
  for (var property in layers) {
81
- _loop(property);
83
+ var _ret = _loop(property);
84
+ if ((0, _typeof2.default)(_ret) === "object") return _ret.v;
82
85
  }
83
86
  };
84
87
  (0, _react.useEffect)(function () {
@@ -145,8 +148,8 @@ var PointOfEvent = function PointOfEvent(_ref) {
145
148
  // removeFromMap(map, point, 'IconNumber');
146
149
  // };
147
150
  // }
148
- }, [event, event.focused]);
151
+ }, [event]);
149
152
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
150
153
  };
151
154
  exports.PointOfEvent = PointOfEvent;
152
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRVdGlscyIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfVGltZUZvcm1hdCIsIl9TZWN0b3IiLCJfanF1ZXJ5IiwiX2FjdGlvbnMiLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiUG9pbnRPZkV2ZW50IiwiX3JlZiIsIm1hcCIsInBvaW50IiwiZXZlbnQiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiYmluZFBvcHVwVG9Qb2ludCIsIm9icyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImxheWVycyIsIl9sYXllcnMiLCJfbG9vcCIsInByb3BlcnR5IiwiaW5jbHVkZXMiLCJrYW5kb19vYmplY3QiLCJrYW5kb19vYmplY3RfaWQiLCJpZCIsImJpbmRQb3B1cCIsInBvcHVwQ29udGVudCIsIm1pbldpZHRoIiwib24iLCJlIiwiZmlyc3RTZWVuIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwibGFzdFNlZW4iLCJzZWN0b3IiLCJSZWFjdERPTSIsInJlbmRlciIsInRpbWVzdGFtcCIsInN0YXJ0X3RpbWUiLCJ0aW1lX3pvbmUiLCJsYXN0X3NlZW5fdGltZSIsInNlY3Rvck5hbWUiLCJncm91cCIsInNlY3Rvcl9uYW1lIiwic2VjdG9ySWNvbk5hbWUiLCJzZWN0b3JfaWNvbl9uYW1lIiwid2lkdGgiLCJzZXRUaW1lb3V0IiwiJCIsImFwcGVuZCIsImF0dGFjaENsaWNrRXZlbnQiLCJzZWxlY3RvciIsIm9ic2VydmF0aW9uIiwiYm9keSIsImNsb3NlRmxvYXRpbmdHcmFwaCIsIm9wZW5GbG9hdGluZ0dyYXBoIiwib3BlblBvcHVwIiwidXNlRWZmZWN0IiwiZGV2aWNlX3N0YXR1cyIsImZvY3VzZWQiLCJvYnNlcnZhdGlvbnMiLCJmaWx0ZXIiLCJwb2ludF9pZCIsIkZyYWdtZW50IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvUG9pbnRPZkV2ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcG9wdXBDb250ZW50IH0gZnJvbSAnLi4vcG9pbnRzL1BvaW50VXRpbHMnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgVGltZUZvcm1hdCBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5pbXBvcnQgU2VjdG9yIGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VjdG9yJztcbmltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQge1xuICBjbG9zZUZsb2F0aW5nR3JhcGgsXG4gIG9wZW5GbG9hdGluZ0dyYXBoLFxufSBmcm9tICcuLi8uLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG4vLyBpbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgcG9pbnQ6IElQb2ludDtcbiAgZXZlbnQ6IElFdmVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBQb2ludE9mRXZlbnQ6IFJlYWN0LkZDPElQcm9wcz4gPSAoeyBtYXAsIHBvaW50LCBldmVudCB9KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgLy8gY29uc3QgeyBmbG93X3JhdGVfdW5pdDogZmxvd1JhdGVVbml0IH0gPSB1c2VTZWxlY3RvcihcbiAgLy8gICAoc3RhdGU6IGFueSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvLFxuICAvLyApO1xuXG4gIGNvbnN0IGJpbmRQb3B1cFRvUG9pbnQgPSAob2JzOiBhbnkgPSBudWxsKSA9PiB7XG4gICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIFsnUG9pbnQnLCAnT2JzZXJ2YXRpb24nXS5pbmNsdWRlcyhsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCkgJiZcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBvaW50LmlkXG4gICAgICApIHtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5iaW5kUG9wdXAocG9wdXBDb250ZW50KG9icywgcG9pbnQpLCB7XG4gICAgICAgICAgbWluV2lkdGg6IDIwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub24oJ3BvcHVwb3BlbicsIGZ1bmN0aW9uIChlOiBhbnkpIHtcbiAgICAgICAgICBsZXQgZmlyc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IGxhc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IHNlY3RvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgICAgaWYgKG9icyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17b2JzLnN0YXJ0X3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnMudGltZV96b25lfVxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgZmlyc3RTZWVuLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e29icy5sYXN0X3NlZW5fdGltZX1cbiAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e29icy50aW1lX3pvbmV9XG4gICAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgICBsYXN0U2VlbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFNlY3RvclxuICAgICAgICAgICAgICAgIHNlY3Rvck5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfVxuICAgICAgICAgICAgICAgIHNlY3Rvckljb25OYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfaWNvbl9uYW1lfVxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMzdcIlxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgc2VjdG9yLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICQoJyNmaXJzdC1zZWVuLXBvcHVwJykuYXBwZW5kKGZpcnN0U2Vlbik7XG4gICAgICAgICAgICAkKCcjbGFzdC1zZWVuLXBvcHVwJykuYXBwZW5kKGxhc3RTZWVuKTtcbiAgICAgICAgICAgICQoJyNzZWN0b3InKS5hcHBlbmQoc2VjdG9yKTtcbiAgICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgICAgbGV0IGF0dGFjaENsaWNrRXZlbnQgPSAoc2VsZWN0b3I6IHN0cmluZywgb2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgJChkb2N1bWVudC5ib2R5KS5vbignY2xpY2snLCBzZWxlY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgIGRpc3BhdGNoKG9wZW5GbG9hdGluZ0dyYXBoKHRydWUsIG9ic2VydmF0aW9uLCBwb2ludCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmIChvYnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBvYnMuaWQsIG9icyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBwb2ludC5pZCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vcGVuUG9wdXAoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gaWYgKGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpKSByZXR1cm47XG5cbiAgICAvLyBsZXQgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlID0gW3BvaW50WydsYXRpdHVkZSddLCBwb2ludFsnbG9uZ2l0dWRlJ11dO1xuICAgIC8vIGxldCBsYXllckdyb3VwID0gTC5sYXllckdyb3VwKCk7XG5cbiAgICAvLyBjcmVhdGVCdWJibGVQb2ludChcbiAgICAvLyAgIG1hcmtlckxvY2F0aW9uLFxuICAgIC8vICAgcG9pbnQsXG4gICAgLy8gICBtYXAsXG4gICAgLy8gICBldmVudC5ob3ZlcmVkLFxuICAgIC8vICAgbGF5ZXJHcm91cCxcbiAgICAvLyAgIGZsb3dSYXRlVW5pdCxcbiAgICAvLyApO1xuXG4gICAgaWYgKHBvaW50LmRldmljZV9zdGF0dXMgIT09ICdyZWd1bGFyJyAmJiBldmVudC5mb2N1c2VkKSB7XG4gICAgICBsZXQgb2JzID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbHRlcihcbiAgICAgICAgKG9icykgPT4gb2JzLnBvaW50X2lkID09PSBwb2ludC5pZCxcbiAgICAgIClbMF07XG4gICAgICBiaW5kUG9wdXBUb1BvaW50KG9icyk7XG4gICAgfVxuXG4gICAgLy8gaWYgKGV2ZW50LmZvY3VzZWQpXG4gICAgLy8gICBjcmVhdGVTYW1wbGluZ0ljb25zKFxuICAgIC8vICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAvLyAgICAgZXZlbnQsXG4gICAgLy8gICAgIHBvaW50LFxuICAgIC8vICAgICBtYXAsXG4gICAgLy8gICAgIGV2ZW50LmhvdmVyZWQsXG4gICAgLy8gICAgIGxheWVyR3JvdXAsXG4gICAgLy8gICApO1xuICAgIC8vIGxldCBoYXNQcmltYXJ5SWNvbiA9IG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbDtcblxuICAgIC8vIGlmIChwb2ludElzT2JzZXJ2YXRpb24oZXZlbnQsIHBvaW50KSAmJiBldmVudC5mb2N1c2VkKSB7XG4gICAgLy8gICBjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludChcbiAgICAvLyAgICAgbWFya2VyTG9jYXRpb24sXG4gICAgLy8gICAgIGhhc1ByaW1hcnlJY29uLFxuICAgIC8vICAgICBtYXAsXG4gICAgLy8gICAgIHBvaW50LFxuICAgIC8vICAgICBldmVudCxcbiAgICAvLyAgICAgZXZlbnQuaG92ZXJlZCxcbiAgICAvLyAgICAgbGF5ZXJHcm91cCxcbiAgICAvLyAgICk7XG4gICAgLy8gfVxuICAgIC8vIGxheWVyR3JvdXAuYWRkVG8obWFwKTtcblxuICAgIC8vIGljb25ab29tQ29udHJvbChtYXApO1xuICAgIC8vIGlmIChldmVudC5ob3ZlcmVkKSB7XG4gICAgLy8gICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgICAgLy8gVU5CSU5EIFBPUFVQXG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ09ic2VydmF0aW9uSG92ZXJlZCcpO1xuICAgIC8vICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdQb2ludEhvdmVyZWQnKTtcbiAgICAvLyAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnU2FtcGxpbmdIb3ZlcmVkJyk7XG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ0ljb25OdW1iZXJIb3ZlcmVkJyk7XG4gICAgLy8gICB9O1xuICAgIC8vIH0gZWxzZSB7XG4gICAgLy8gICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgICAgLy8gVU5CSU5EIFBPUFVQXG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ09ic2VydmF0aW9uJyk7XG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1BvaW50Jyk7XG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1NhbXBsaW5nJyk7XG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ0ljb25OdW1iZXInKTtcbiAgICAvLyAgIH07XG4gICAgLy8gfVxuICB9LCBbZXZlbnQsIGV2ZW50LmZvY3VzZWRdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FB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
155
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRVdGlscyIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfVGltZUZvcm1hdCIsIl9TZWN0b3IiLCJfanF1ZXJ5IiwiX2FjdGlvbnMiLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlBvaW50T2ZFdmVudCIsIl9yZWYiLCJtYXAiLCJwb2ludCIsImV2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImJpbmRQb3B1cFRvUG9pbnQiLCJvYnMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJsYXllcnMiLCJfbGF5ZXJzIiwiX2xvb3AiLCJwcm9wZXJ0eSIsImluY2x1ZGVzIiwia2FuZG9fb2JqZWN0Iiwia2FuZG9fb2JqZWN0X2lkIiwiaWQiLCJiaW5kUG9wdXAiLCJwb3B1cENvbnRlbnQiLCJtaW5XaWR0aCIsIm9uIiwiZSIsImZpcnN0U2VlbiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImxhc3RTZWVuIiwic2VjdG9yIiwiUmVhY3RET00iLCJyZW5kZXIiLCJ0aW1lc3RhbXAiLCJzdGFydF90aW1lIiwidGltZV96b25lIiwibGFzdF9zZWVuX3RpbWUiLCJzZWN0b3JOYW1lIiwiZ3JvdXAiLCJzZWN0b3JfbmFtZSIsInNlY3Rvckljb25OYW1lIiwic2VjdG9yX2ljb25fbmFtZSIsIndpZHRoIiwic2V0VGltZW91dCIsIiQiLCJhcHBlbmQiLCJhdHRhY2hDbGlja0V2ZW50Iiwic2VsZWN0b3IiLCJvYnNlcnZhdGlvbiIsImJvZHkiLCJjbG9zZUZsb2F0aW5nR3JhcGgiLCJvcGVuRmxvYXRpbmdHcmFwaCIsIm9wZW5Qb3B1cCIsInYiLCJfcmV0IiwiX3R5cGVvZjIiLCJ1c2VFZmZlY3QiLCJkZXZpY2Vfc3RhdHVzIiwiZm9jdXNlZCIsIm9ic2VydmF0aW9ucyIsImZpbHRlciIsInBvaW50X2lkIiwiRnJhZ21lbnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9Qb2ludE9mRXZlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBwb3B1cENvbnRlbnQgfSBmcm9tICcuLi9wb2ludHMvUG9pbnRVdGlscyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9UaW1lRm9ybWF0JztcbmltcG9ydCBTZWN0b3IgZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWN0b3InO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCB7XG4gIGNsb3NlRmxvYXRpbmdHcmFwaCxcbiAgb3BlbkZsb2F0aW5nR3JhcGgsXG59IGZyb20gJy4uLy4uLy4uL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG4gIGV2ZW50OiBJRXZlbnQ7XG59O1xuXG5leHBvcnQgY29uc3QgUG9pbnRPZkV2ZW50OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHsgbWFwLCBwb2ludCwgZXZlbnQgfSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIC8vIGNvbnN0IHsgZmxvd19yYXRlX3VuaXQ6IGZsb3dSYXRlVW5pdCB9ID0gdXNlU2VsZWN0b3IoXG4gIC8vICAgKHN0YXRlOiBhbnkpID0+IHN0YXRlLnBlcm1pc3Npb25zLnVzZXJfaW5mbyxcbiAgLy8gKTtcblxuICBjb25zdCBiaW5kUG9wdXBUb1BvaW50ID0gKG9iczogYW55ID0gbnVsbCkgPT4ge1xuICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgaWYgKFxuICAgICAgICBbJ1BvaW50JywgJ09ic2VydmF0aW9uJ10uaW5jbHVkZXMobGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QpICYmXG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0X2lkID09PSBwb2ludC5pZFxuICAgICAgKSB7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0uYmluZFBvcHVwKHBvcHVwQ29udGVudChvYnMsIHBvaW50KSwge1xuICAgICAgICAgIG1pbldpZHRoOiAyMDAsXG4gICAgICAgIH0pO1xuICAgICAgICBsYXllcnNbcHJvcGVydHldLm9uKCdwb3B1cG9wZW4nLCBmdW5jdGlvbiAoZTogYW55KSB7XG4gICAgICAgICAgbGV0IGZpcnN0U2VlbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgIGxldCBsYXN0U2VlbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgIGxldCBzZWN0b3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgICAgIGlmIChvYnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e29icy5zdGFydF90aW1lfVxuICAgICAgICAgICAgICAgIHRpbWVfem9uZT17b2JzLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICAgIGZpcnN0U2VlbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICAgICAgICAgIDxUaW1lRm9ybWF0XG4gICAgICAgICAgICAgICAgdGltZXN0YW1wPXtvYnMubGFzdF9zZWVuX3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnMudGltZV96b25lfVxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgbGFzdFNlZW4sXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICAgICAgICAgIDxTZWN0b3JcbiAgICAgICAgICAgICAgICBzZWN0b3JOYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfbmFtZX1cbiAgICAgICAgICAgICAgICBzZWN0b3JJY29uTmFtZT17cG9pbnQuZ3JvdXAuc2VjdG9yX2ljb25fbmFtZX1cbiAgICAgICAgICAgICAgICB3aWR0aD1cIjM3XCJcbiAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICAgIHNlY3RvcixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAkKCcjZmlyc3Qtc2Vlbi1wb3B1cCcpLmFwcGVuZChmaXJzdFNlZW4pO1xuICAgICAgICAgICAgJCgnI2xhc3Qtc2Vlbi1wb3B1cCcpLmFwcGVuZChsYXN0U2Vlbik7XG4gICAgICAgICAgICAkKCcjc2VjdG9yJykuYXBwZW5kKHNlY3Rvcik7XG4gICAgICAgICAgfSwgMjAwKTtcblxuICAgICAgICAgIGxldCBhdHRhY2hDbGlja0V2ZW50ID0gKHNlbGVjdG9yOiBzdHJpbmcsIG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICQoZG9jdW1lbnQuYm9keSkub24oJ2NsaWNrJywgc2VsZWN0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgZGlzcGF0Y2goY2xvc2VGbG9hdGluZ0dyYXBoKCkpO1xuICAgICAgICAgICAgICBkaXNwYXRjaChvcGVuRmxvYXRpbmdHcmFwaCh0cnVlLCBvYnNlcnZhdGlvbiwgcG9pbnQpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAob2JzICE9PSBudWxsKSB7XG4gICAgICAgICAgICBhdHRhY2hDbGlja0V2ZW50KCcucG9wdXAtZ3JhcGgtaWNvbi0nICsgb2JzLmlkLCBvYnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhdHRhY2hDbGlja0V2ZW50KCcucG9wdXAtZ3JhcGgtaWNvbi0nICsgcG9pbnQuaWQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub3BlblBvcHVwKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gaWYgKGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpKSByZXR1cm47XG5cbiAgICAvLyBsZXQgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlID0gW3BvaW50WydsYXRpdHVkZSddLCBwb2ludFsnbG9uZ2l0dWRlJ11dO1xuICAgIC8vIGxldCBsYXllckdyb3VwID0gTC5sYXllckdyb3VwKCk7XG5cbiAgICAvLyBjcmVhdGVCdWJibGVQb2ludChcbiAgICAvLyAgIG1hcmtlckxvY2F0aW9uLFxuICAgIC8vICAgcG9pbnQsXG4gICAgLy8gICBtYXAsXG4gICAgLy8gICBldmVudC5ob3ZlcmVkLFxuICAgIC8vICAgbGF5ZXJHcm91cCxcbiAgICAvLyAgIGZsb3dSYXRlVW5pdCxcbiAgICAvLyApO1xuXG4gICAgaWYgKHBvaW50LmRldmljZV9zdGF0dXMgIT09ICdyZWd1bGFyJyAmJiBldmVudC5mb2N1c2VkKSB7XG4gICAgICBsZXQgb2JzID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbHRlcihcbiAgICAgICAgKG9icykgPT4gb2JzLnBvaW50X2lkID09PSBwb2ludC5pZCxcbiAgICAgIClbMF07XG4gICAgICBiaW5kUG9wdXBUb1BvaW50KG9icyk7XG4gICAgfVxuXG4gICAgLy8gaWYgKGV2ZW50LmZvY3VzZWQpXG4gICAgLy8gICBjcmVhdGVTYW1wbGluZ0ljb25zKFxuICAgIC8vICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAvLyAgICAgZXZlbnQsXG4gICAgLy8gICAgIHBvaW50LFxuICAgIC8vICAgICBtYXAsXG4gICAgLy8gICAgIGV2ZW50LmhvdmVyZWQsXG4gICAgLy8gICAgIGxheWVyR3JvdXAsXG4gICAgLy8gICApO1xuICAgIC8vIGxldCBoYXNQcmltYXJ5SWNvbiA9IG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbDtcblxuICAgIC8vIGlmIChwb2ludElzT2JzZXJ2YXRpb24oZXZlbnQsIHBvaW50KSAmJiBldmVudC5mb2N1c2VkKSB7XG4gICAgLy8gICBjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludChcbiAgICAvLyAgICAgbWFya2VyTG9jYXRpb24sXG4gICAgLy8gICAgIGhhc1ByaW1hcnlJY29uLFxuICAgIC8vICAgICBtYXAsXG4gICAgLy8gICAgIHBvaW50LFxuICAgIC8vICAgICBldmVudCxcbiAgICAvLyAgICAgZXZlbnQuaG92ZXJlZCxcbiAgICAvLyAgICAgbGF5ZXJHcm91cCxcbiAgICAvLyAgICk7XG4gICAgLy8gfVxuICAgIC8vIGxheWVyR3JvdXAuYWRkVG8obWFwKTtcblxuICAgIC8vIGljb25ab29tQ29udHJvbChtYXApO1xuICAgIC8vIGlmIChldmVudC5ob3ZlcmVkKSB7XG4gICAgLy8gICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgICAgLy8gVU5CSU5EIFBPUFVQXG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ09ic2VydmF0aW9uSG92ZXJlZCcpO1xuICAgIC8vICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdQb2ludEhvdmVyZWQnKTtcbiAgICAvLyAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnU2FtcGxpbmdIb3ZlcmVkJyk7XG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ0ljb25OdW1iZXJIb3ZlcmVkJyk7XG4gICAgLy8gICB9O1xuICAgIC8vIH0gZWxzZSB7XG4gICAgLy8gICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgICAgLy8gVU5CSU5EIFBPUFVQXG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ09ic2VydmF0aW9uJyk7XG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1BvaW50Jyk7XG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1NhbXBsaW5nJyk7XG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ0ljb25OdW1iZXInKTtcbiAgICAvLyAgIH07XG4gICAgLy8gfVxuICB9LCBbZXZlbnRdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxT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
@@ -15,6 +15,8 @@ var PointsForSpecificEvent = function PointsForSpecificEvent(_ref) {
15
15
  event = _ref.event,
16
16
  edges = _ref.edges,
17
17
  map = _ref.map;
18
+ // const layerGroup = L.layerGroup().addTo(map);
19
+
18
20
  var findPointsToDraw = function findPointsToDraw() {
19
21
  var relevantPoints = [];
20
22
  var relevantEdges = [];
@@ -66,4 +68,4 @@ var PointsForSpecificEvent = function PointsForSpecificEvent(_ref) {
66
68
  }));
67
69
  };
68
70
  exports.PointsForSpecificEvent = PointsForSpecificEvent;
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRXZlbnRVdGlscyIsIl9Qb2ludE9mRXZlbnQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlBvaW50c0ZvclNwZWNpZmljRXZlbnQiLCJfcmVmIiwicG9pbnRzIiwiZXZlbnQiLCJlZGdlcyIsIm1hcCIsImZpbmRQb2ludHNUb0RyYXciLCJyZWxldmFudFBvaW50cyIsInJlbGV2YW50RWRnZXMiLCJwYXRoIiwibGVuZ3RoIiwiZmluZEVkZ2VzRnJvbUV2ZW50UGF0aFRvRHJhdyIsImZvckVhY2giLCJlZGdlIiwicG9pbnRUb0RyYXciLCJmaW5kIiwicCIsInBhcnRfb2ZfbW9uaXRvcmVkX3BhdGgiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInVuZGVmaW5lZCIsInB1c2giLCJsYXN0UG9pbnRPZkhpZXJhcmNoeSIsImxhc3RFZGdlSW5kZXgiLCJ0YXJnZXRfcG9pbnRfaWQiLCJpbmNsdWRlcyIsIm9ic2VydmF0aW9ucyIsIm9icyIsImZpbmRQb2ludCIsInBvaW50X2lkIiwidXBzdHJlYW1FZGdlcyIsImdldFVwc3RyZWFtRWRnZXMiLCJ1cHN0cmVhbUVkZ2UiLCJ1c2VFZmZlY3QiLCJmb2N1c2VkIiwiaG92ZXJlZCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsInBvaW50IiwiUG9pbnRPZkV2ZW50IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvUG9pbnRzRm9yU3BlY2lmaWNFdmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IGZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXcsIGdldFVwc3RyZWFtRWRnZXMgfSBmcm9tICcuL0V2ZW50VXRpbHMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgUG9pbnRPZkV2ZW50IH0gZnJvbSAnLi9Qb2ludE9mRXZlbnQnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgcG9pbnRzOiBJUG9pbnRbXTtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZWRnZXM6IElFZGdlW107XG4gIG1hcDogYW55O1xufTtcblxuZXhwb3J0IGNvbnN0IFBvaW50c0ZvclNwZWNpZmljRXZlbnQ6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBwb2ludHMsXG4gIGV2ZW50LFxuICBlZGdlcyxcbiAgbWFwLFxufSkgPT4ge1xuICBjb25zdCBmaW5kUG9pbnRzVG9EcmF3ID0gKCkgPT4ge1xuICAgIGxldCByZWxldmFudFBvaW50czogSVBvaW50W10gPSBbXTtcbiAgICBsZXQgcmVsZXZhbnRFZGdlczogSUVkZ2VbXSA9IFtdO1xuXG4gICAgaWYgKGV2ZW50LnBhdGgubGVuZ3RoICE9PSAwKSB7XG4gICAgICBmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3KHJlbGV2YW50RWRnZXMsIGV2ZW50LCBlZGdlcyk7XG5cbiAgICAgIHJlbGV2YW50RWRnZXMuZm9yRWFjaCgoZWRnZTogSUVkZ2UpID0+IHtcbiAgICAgICAgbGV0IHBvaW50VG9EcmF3ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgICAgKHA6IElQb2ludCkgPT5cbiAgICAgICAgICAgIHAucGFydF9vZl9tb25pdG9yZWRfcGF0aCAmJiBwLmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHBvaW50VG9EcmF3ICE9PSB1bmRlZmluZWQpIHJlbGV2YW50UG9pbnRzLnB1c2gocG9pbnRUb0RyYXcpO1xuICAgICAgfSk7XG5cbiAgICAgIGxldCBsYXN0UG9pbnRPZkhpZXJhcmNoeTogSVBvaW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgbGV0IGxhc3RFZGdlSW5kZXggPVxuICAgICAgICByZWxldmFudEVkZ2VzLmxlbmd0aCA9PT0gMSA/IDAgOiByZWxldmFudEVkZ2VzLmxlbmd0aCAtIDE7XG4gICAgICBpZiAocmVsZXZhbnRFZGdlcy5sZW5ndGggPj0gMSlcbiAgICAgICAgbGFzdFBvaW50T2ZIaWVyYXJjaHkgPSBwb2ludHMuZmluZChcbiAgICAgICAgICAocDogSVBvaW50KSA9PiBwLmlkID09PSByZWxldmFudEVkZ2VzW2xhc3RFZGdlSW5kZXhdLnRhcmdldF9wb2ludF9pZCxcbiAgICAgICAgKTtcblxuICAgICAgaWYgKFxuICAgICAgICBsYXN0UG9pbnRPZkhpZXJhcmNoeSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICFyZWxldmFudFBvaW50cy5pbmNsdWRlcyhsYXN0UG9pbnRPZkhpZXJhcmNoeSlcbiAgICAgIClcbiAgICAgICAgcmVsZXZhbnRQb2ludHMucHVzaChsYXN0UG9pbnRPZkhpZXJhcmNoeSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCByZWxldmFudFBvaW50czogSVBvaW50W10gPSBbXTtcbiAgICAgIGV2ZW50Lm9ic2VydmF0aW9ucy5mb3JFYWNoKChvYnMpID0+IHtcbiAgICAgICAgbGV0IGZpbmRQb2ludCA9IHBvaW50cy5maW5kKChwKSA9PiBwLmlkID09PSBvYnMucG9pbnRfaWQpO1xuICAgICAgICBpZiAoZmluZFBvaW50KSByZWxldmFudFBvaW50cy5wdXNoKGZpbmRQb2ludCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdXBzdHJlYW0gcG9pbnRzIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBldmVudCBwYXRoIGJ1dCBhcmUgcGFydCBvZiBpdHMgcGF0aFxuICAgIGNvbnN0IGVkZ2U6IElFZGdlID0gcmVsZXZhbnRFZGdlc1swXTtcbiAgICBjb25zdCB1cHN0cmVhbUVkZ2VzID0gZ2V0VXBzdHJlYW1FZGdlcyhlZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMubGVuZ3RoID4gMCkge1xuICAgICAgdXBzdHJlYW1FZGdlcy5mb3JFYWNoKCh1cHN0cmVhbUVkZ2U6IElFZGdlKSA9PiB7XG4gICAgICAgIGxldCBwb2ludFRvRHJhdyA9IHBvaW50cy5maW5kKFxuICAgICAgICAgIChwOiBJUG9pbnQpID0+XG4gICAgICAgICAgICBwLnBhcnRfb2ZfbW9uaXRvcmVkX3BhdGggJiYgcC5pZCA9PT0gdXBzdHJlYW1FZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHBvaW50VG9EcmF3ICE9PSB1bmRlZmluZWQpIHJlbGV2YW50UG9pbnRzLnB1c2gocG9pbnRUb0RyYXcpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbGV2YW50UG9pbnRzO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7fSwgW2V2ZW50LmZvY3VzZWQsIGV2ZW50LmhvdmVyZWRdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZmluZFBvaW50c1RvRHJhdygpLm1hcCgocG9pbnQ6IElQb2ludCkgPT4gKFxuICAgICAgICA8UG9pbnRPZkV2ZW50IG1hcD17bWFwfSBwb2ludD17cG9pbnR9IGV2ZW50PXtldmVudH0ga2V5PXtw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
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRXZlbnRVdGlscyIsIl9Qb2ludE9mRXZlbnQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlBvaW50c0ZvclNwZWNpZmljRXZlbnQiLCJfcmVmIiwicG9pbnRzIiwiZXZlbnQiLCJlZGdlcyIsIm1hcCIsImZpbmRQb2ludHNUb0RyYXciLCJyZWxldmFudFBvaW50cyIsInJlbGV2YW50RWRnZXMiLCJwYXRoIiwibGVuZ3RoIiwiZmluZEVkZ2VzRnJvbUV2ZW50UGF0aFRvRHJhdyIsImZvckVhY2giLCJlZGdlIiwicG9pbnRUb0RyYXciLCJmaW5kIiwicCIsInBhcnRfb2ZfbW9uaXRvcmVkX3BhdGgiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInVuZGVmaW5lZCIsInB1c2giLCJsYXN0UG9pbnRPZkhpZXJhcmNoeSIsImxhc3RFZGdlSW5kZXgiLCJ0YXJnZXRfcG9pbnRfaWQiLCJpbmNsdWRlcyIsIm9ic2VydmF0aW9ucyIsIm9icyIsImZpbmRQb2ludCIsInBvaW50X2lkIiwidXBzdHJlYW1FZGdlcyIsImdldFVwc3RyZWFtRWRnZXMiLCJ1cHN0cmVhbUVkZ2UiLCJ1c2VFZmZlY3QiLCJmb2N1c2VkIiwiaG92ZXJlZCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsInBvaW50IiwiUG9pbnRPZkV2ZW50IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvUG9pbnRzRm9yU3BlY2lmaWNFdmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IGZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXcsIGdldFVwc3RyZWFtRWRnZXMgfSBmcm9tICcuL0V2ZW50VXRpbHMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgUG9pbnRPZkV2ZW50IH0gZnJvbSAnLi9Qb2ludE9mRXZlbnQnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgcG9pbnRzOiBJUG9pbnRbXTtcbiAgZXZlbnQ6IElFdmVudDtcbiAgZWRnZXM6IElFZGdlW107XG4gIG1hcDogYW55O1xufTtcblxuZXhwb3J0IGNvbnN0IFBvaW50c0ZvclNwZWNpZmljRXZlbnQ6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBwb2ludHMsXG4gIGV2ZW50LFxuICBlZGdlcyxcbiAgbWFwLFxufSkgPT4ge1xuICAvLyBjb25zdCBsYXllckdyb3VwID0gTC5sYXllckdyb3VwKCkuYWRkVG8obWFwKTtcblxuICBjb25zdCBmaW5kUG9pbnRzVG9EcmF3ID0gKCkgPT4ge1xuICAgIGxldCByZWxldmFudFBvaW50czogSVBvaW50W10gPSBbXTtcbiAgICBsZXQgcmVsZXZhbnRFZGdlczogSUVkZ2VbXSA9IFtdO1xuXG4gICAgaWYgKGV2ZW50LnBhdGgubGVuZ3RoICE9PSAwKSB7XG4gICAgICBmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3KHJlbGV2YW50RWRnZXMsIGV2ZW50LCBlZGdlcyk7XG5cbiAgICAgIHJlbGV2YW50RWRnZXMuZm9yRWFjaCgoZWRnZTogSUVkZ2UpID0+IHtcbiAgICAgICAgbGV0IHBvaW50VG9EcmF3ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgICAgKHA6IElQb2ludCkgPT5cbiAgICAgICAgICAgIHAucGFydF9vZl9tb25pdG9yZWRfcGF0aCAmJiBwLmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHBvaW50VG9EcmF3ICE9PSB1bmRlZmluZWQpIHJlbGV2YW50UG9pbnRzLnB1c2gocG9pbnRUb0RyYXcpO1xuICAgICAgfSk7XG5cbiAgICAgIGxldCBsYXN0UG9pbnRPZkhpZXJhcmNoeTogSVBvaW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgbGV0IGxhc3RFZGdlSW5kZXggPVxuICAgICAgICByZWxldmFudEVkZ2VzLmxlbmd0aCA9PT0gMSA/IDAgOiByZWxldmFudEVkZ2VzLmxlbmd0aCAtIDE7XG4gICAgICBpZiAocmVsZXZhbnRFZGdlcy5sZW5ndGggPj0gMSlcbiAgICAgICAgbGFzdFBvaW50T2ZIaWVyYXJjaHkgPSBwb2ludHMuZmluZChcbiAgICAgICAgICAocDogSVBvaW50KSA9PiBwLmlkID09PSByZWxldmFudEVkZ2VzW2xhc3RFZGdlSW5kZXhdLnRhcmdldF9wb2ludF9pZCxcbiAgICAgICAgKTtcblxuICAgICAgaWYgKFxuICAgICAgICBsYXN0UG9pbnRPZkhpZXJhcmNoeSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICFyZWxldmFudFBvaW50cy5pbmNsdWRlcyhsYXN0UG9pbnRPZkhpZXJhcmNoeSlcbiAgICAgIClcbiAgICAgICAgcmVsZXZhbnRQb2ludHMucHVzaChsYXN0UG9pbnRPZkhpZXJhcmNoeSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCByZWxldmFudFBvaW50czogSVBvaW50W10gPSBbXTtcbiAgICAgIGV2ZW50Lm9ic2VydmF0aW9ucy5mb3JFYWNoKChvYnMpID0+IHtcbiAgICAgICAgbGV0IGZpbmRQb2ludCA9IHBvaW50cy5maW5kKChwKSA9PiBwLmlkID09PSBvYnMucG9pbnRfaWQpO1xuICAgICAgICBpZiAoZmluZFBvaW50KSByZWxldmFudFBvaW50cy5wdXNoKGZpbmRQb2ludCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdXBzdHJlYW0gcG9pbnRzIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBldmVudCBwYXRoIGJ1dCBhcmUgcGFydCBvZiBpdHMgcGF0aFxuICAgIGNvbnN0IGVkZ2U6IElFZGdlID0gcmVsZXZhbnRFZGdlc1swXTtcbiAgICBjb25zdCB1cHN0cmVhbUVkZ2VzID0gZ2V0VXBzdHJlYW1FZGdlcyhlZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMubGVuZ3RoID4gMCkge1xuICAgICAgdXBzdHJlYW1FZGdlcy5mb3JFYWNoKCh1cHN0cmVhbUVkZ2U6IElFZGdlKSA9PiB7XG4gICAgICAgIGxldCBwb2ludFRvRHJhdyA9IHBvaW50cy5maW5kKFxuICAgICAgICAgIChwOiBJUG9pbnQpID0+XG4gICAgICAgICAgICBwLnBhcnRfb2ZfbW9uaXRvcmVkX3BhdGggJiYgcC5pZCA9PT0gdXBzdHJlYW1FZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHBvaW50VG9EcmF3ICE9PSB1bmRlZmluZWQpIHJlbGV2YW50UG9pbnRzLnB1c2gocG9pbnRUb0RyYXcpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbGV2YW50UG9pbnRzO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7fSwgW2V2ZW50LmZvY3VzZWQsIGV2ZW50LmhvdmVyZWRdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZmluZFBvaW50c1RvRHJhdygpLm1hcCgocG9pbnQ6IElQb2ludCkgPT4gKFxuICAgICAgICA8UG9pbnRPZkV2ZW50IG1hcD17bWFwfSBwb2ludD17cG9pbnR9IGV2ZW50PXtldmVudH0ga2V5PXtwb2ludC5pZH0gLz5cbiAgICAgICkpfVxuICAgIDwvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLGFBQUEsR0FBQUYsT0FBQTtBQUE4QyxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUwsd0JBQUFTLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFB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
@@ -24,7 +24,6 @@ var _brightBlueCircle = _interopRequireDefault(require("../../../assets/point_ic
24
24
  var _WWTPIcon = _interopRequireDefault(require("../../../assets/point_icons/WWTP-icon.svg"));
25
25
  var _waterNoBackground = _interopRequireDefault(require("../../../assets/point_icons/water-no-background.svg"));
26
26
  var _whitePoint = _interopRequireDefault(require("../../../assets/white-point.png"));
27
- var _MapUtils = require("../MapUtils");
28
27
  var _PointIcon = require("./PointIcon");
29
28
  var _water_reuse = _interopRequireDefault(require("../../../assets/icons/water_reuse.svg"));
30
29
  var _utils = require("pages/DashboardMap/utils");
@@ -58,31 +57,16 @@ exports.bubbleForWWTP = bubbleForWWTP;
58
57
  var createBubblePoint = function createBubblePoint(markerLocation, point, map, hovered, layerGroup) {
59
58
  var flow_rate_unit = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'gd_us';
60
59
  var handleClick = arguments.length > 6 ? arguments[6] : undefined;
61
- var subtitle = pointIsFactory(point) ? point.group.sector_name : '';
62
- var type = point.has_device ? point.group.type : 'Groups::default';
63
- var pointCustomIcon = _leaflet.default.marker(markerLocation, {
64
- icon: (0, _PointIcon.getPointIconByType)(type, point.name, subtitle, false, true, false, point.has_sampler),
65
- riseOnHover: true
66
- });
67
- // @ts-ignore
68
- // pointCustomIcon.bindTooltip(buildManholeTootipString(point));
69
- pointCustomIcon['kando_object_id'] = point.id;
70
- pointCustomIcon['kando_object'] = 'Point';
71
- pointCustomIcon['kando_has_device'] = point.has_device;
72
- pointCustomIcon['kando_has_sampler'] = point.has_sampler;
73
- if (hovered) pointCustomIcon['kando_object'] = 'PointHovered';
74
60
  var markerOnMap = layerGroup.getLayers().find(function (layer) {
75
61
  return layer.kando_object_id === point.id;
76
62
  });
77
-
78
- // let pointCustomIcon: L.Marker = markerOnMap
79
- // ? markerOnMap
80
- // : L.marker(markerLocation, {
81
- // icon: getIcon(point, false, subtitle),
82
- // riseOnHover: true,
83
- // });
84
-
85
63
  if (!markerOnMap) {
64
+ var subtitle = pointIsFactory(point) ? point.group.sector_name : '';
65
+ var type = point.has_device ? point.group.type : 'Groups::default';
66
+ var pointCustomIcon = _leaflet.default.marker(markerLocation, {
67
+ icon: (0, _PointIcon.getPointIconByType)(type, point.name, subtitle, false, true, false, point.has_sampler),
68
+ riseOnHover: true
69
+ });
86
70
  pointCustomIcon['kando_object_id'] = point.id;
87
71
  pointCustomIcon['kando_object'] = 'Point';
88
72
  pointCustomIcon['kando_has_device'] = point.has_device;
@@ -94,22 +78,6 @@ var createBubblePoint = function createBubblePoint(markerLocation, point, map, h
94
78
  }
95
79
  handleMarkerEvents(map, point, pointCustomIcon, handleClick);
96
80
  }
97
-
98
- // Consider removing this, it's not functional and notused anywhere
99
- if (point.relatedEventsAmount) {
100
- var _pointCustomIcon = _leaflet.default.marker(markerLocation, {
101
- icon: _leaflet.default.divIcon({
102
- className: "\n ".concat(point.relatedEventsAmount >= 100 ? 'circle-events-amount circle-events-amount--tridigit' : 'circle-events-amount', " \n ").concat(point.relatedEventsAmount > 2 ? 'alert-color' : '', "\n "),
103
- html: "<p>".concat(point.relatedEventsAmount, "</p>"),
104
- iconAnchor: (0, _MapUtils.eventsCountIcon)(map._zoom).iconAnchor
105
- }),
106
- riseOnHover: false,
107
- opacity: hovered ? 1 : 0
108
- });
109
- _pointCustomIcon['kando_object_id'] = point.id;
110
- _pointCustomIcon['kando_object'] = 'IconNumber';
111
- if (hovered) _pointCustomIcon['kando_object'] = 'IconNumberHovered';
112
- }
113
81
  };
114
82
  exports.createBubblePoint = createBubblePoint;
115
83
  var createManholePoint = function createManholePoint(markerLocation, point, map, hovered, layerGroup) {
@@ -131,6 +99,8 @@ var createManholePoint = function createManholePoint(markerLocation, point, map,
131
99
  if (hovered) manholeIcon['kando_object'] = 'PointHovered';
132
100
  layerGroup.addLayer(manholeIcon);
133
101
  };
102
+
103
+ // ***Consider removing this function it is not used for more than two years***
134
104
  exports.createManholePoint = createManholePoint;
135
105
  var matchIconToPoint = function matchIconToPoint(point, event) {
136
106
  switch (point.group.type) {
@@ -512,4 +482,4 @@ var isFactoryType = function isFactoryType(type) {
512
482
  return type === 'Groups::Factory';
513
483
  };
514
484
  exports.isFactoryType = isFactoryType;
515
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJwb2ludElzRmFjdG9yeSIsInNlY3Rvcl9uYW1lIiwid2F0ZXJfZGlzY2hhcmdlIiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0SWNvbiIsInd3dHBQb2ludCIsInJpc2VPbkhvdmVyIiwiaGFzX2RldmljZSIsImhhc19zYW1wbGVyIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXAiLCJob3ZlcmVkIiwibGF5ZXJHcm91cCIsImZsb3dfcmF0ZV91bml0IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiaGFuZGxlQ2xpY2siLCJzdWJ0aXRsZSIsInR5cGUiLCJnZXRQb2ludEljb25CeVR5cGUiLCJtYXJrZXJPbk1hcCIsImdldExheWVycyIsImZpbmQiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImFkZExheWVyIiwiYmluZFBvcHVwVG9NYXJrZXIiLCJoYW5kbGVNYXJrZXJFdmVudHMiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJpY29uQW5jaG9yIiwiZXZlbnRzQ291bnRJY29uIiwiX3pvb20iLCJvcGFjaXR5IiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiSWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJtYW5ob2xlSWNvbiIsIk1hcmtlciIsImJpbmRUb29sdGlwIiwibWF0Y2hJY29uVG9Qb2ludCIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImZvckVhY2giLCJpbmRleCIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5IiwiY2xpY2tlZCIsImlzV1dUUCIsInN1YnRpdGxlVGV4dCIsInNldEljb24iLCJlbGVtZW50IiwiY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiIsIndhdGVyQ29uc3VtcHRpb24iLCJyb3VuZF90b19uZWFyZXN0X2siLCJjYWxjdWxhdGVkIiwidG9GaXhlZCIsInJvdW5kVG9OZWFyZXN0VGhvdXNhbmQiLCJwYXJzZUZsb2F0IiwidG9Mb2NhbGVTdHJpbmciLCJNYXRoIiwicm91bmQiLCJudW1iZXIiLCJyb3VuZGVkVGhvdXNhbmRzIiwicm91bmRlZFZhbHVlIiwidHJhbnNsYXRlRmxvd1JhdGUiLCJ0b29sdGlwVmlzaWJsZSIsIm9uIiwiY2xvc2VQb3B1cCIsImlzUG9wdXBPcGVuIiwic2VuZEFuYWx5dGljc0V2ZW50IiwicG9pbnRfbmFtZSIsImNvbnRlbnQiLCJ3YXRlclJldXNlSWNvbiIsImdldEZsb3dSYXRlIiwiYmluZFBvcHVwIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsImNsb3NlQnV0dG9uIiwiZmxvd1JhdGVVbml0IiwiaXNSb3VuZCIsInJlbW92ZUxheWVyR3JvdXAiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiYWRkTGF5ZXJHcm91cCIsInBvaW50SXNXV1RQIiwiaXNGYWN0b3J5VHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3JhcGhJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9saW5lLWNoYXJ0LnN2Zyc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgc2FtcGxpbmdJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9zYW1wbGluZy1pY29uLnN2Zyc7XG5pbXBvcnQgcGlua0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcGluay1jaXJjbGUuc3ZnJztcbmltcG9ydCBvYnNlcnZhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL29ic2VydmF0aW9uLWljb24uc3ZnJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCByZWRQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3JlZC1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluQmxhY2tTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1ibGFjay1zaGFkb3cucG5nJztcbmltcG9ydCB5ZWxsb3dDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3llbGxvdy1jaXJjbGUuc3ZnJztcbmltcG9ydCBwbGFudEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2ZhY3RvcnktaWNvbi5zdmcnO1xuaW1wb3J0IGdyZWVuQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ncmVlbi1jaXJjbGUuc3ZnJztcbmltcG9ydCBwdW1wU3RhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3B1bXAtc3RhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgY29sbGVjdG9ySWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbWFwL3Bpbi13YXRlci5zdmcnO1xuaW1wb3J0IGJyaWdodEJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JyaWdodC1ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IFdXVFBJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9XV1RQLWljb24uc3ZnJztcbmltcG9ydCB3YXRlckljb25Ob0JhY2tncm91bmQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3dhdGVyLW5vLWJhY2tncm91bmQuc3ZnJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgZXZlbnRzQ291bnRJY29uIH0gZnJvbSAnLi4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnLi9Qb2ludEljb24nO1xuaW1wb3J0IHdhdGVyUmV1c2VJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9pY29ucy93YXRlcl9yZXVzZS5zdmcnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc3RyaW5nID0gYCR7cG9pbnQuZ3JvdXAubmFtZX0gYDtcblxuICBpZiAocG9pbnRJc0ZhY3RvcnkocG9pbnQpKSB7XG4gICAgc3RyaW5nICs9IGA8YnIvPlNlY3RvcjogJHtwb2ludC5ncm91cC5zZWN0b3JfbmFtZX1gO1xuICAgIHN0cmluZyArPSBgPGJyLz5XYXRlciBDb25zdW1wdGlvbjogJHtwb2ludC5ncm91cC53YXRlcl9kaXNjaGFyZ2V9YDtcbiAgfSBlbHNlIHtcbiAgICBzdHJpbmcgPSBgJHtwb2ludC5uYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUZvcldXVFAgPSAoYXJncykgPT4ge1xuICBjb25zdCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIoYXJncy5tYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IGdldEljb24oYXJncy53d3RwUG9pbnQsIGZhbHNlKSxcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBhcmdzLnd3dHBQb2ludC5pZDtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faGFzX2RldmljZSddID0gYXJncy53d3RwUG9pbnQuaGFzX2RldmljZTtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19oYXNfc2FtcGxlciddID0gYXJncy53d3RwUG9pbnQuaGFzX3NhbXBsZXI7XG5cbiAgcmV0dXJuIHBvaW50Q3VzdG9tSWNvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVCdWJibGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbiAgZmxvd19yYXRlX3VuaXQgPSAnZ2RfdXMnLFxuICBoYW5kbGVDbGljaz8sXG4pID0+IHtcbiAgY29uc3Qgc3VidGl0bGUgPSBwb2ludElzRmFjdG9yeShwb2ludCkgPyBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSA6ICcnO1xuICBjb25zdCB0eXBlID0gcG9pbnQuaGFzX2RldmljZSA/IHBvaW50Lmdyb3VwLnR5cGUgOiAnR3JvdXBzOjpkZWZhdWx0JztcbiAgbGV0IHBvaW50Q3VzdG9tSWNvbjogTC5NYXJrZXIgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgIHR5cGUsXG4gICAgICBwb2ludC5uYW1lLFxuICAgICAgc3VidGl0bGUsXG4gICAgICBmYWxzZSxcbiAgICAgIHRydWUsXG4gICAgICBmYWxzZSxcbiAgICAgIHBvaW50Lmhhc19zYW1wbGVyLFxuICAgICksXG4gICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gIH0pO1xuICAvLyBAdHMtaWdub3JlXG4gIC8vIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19oYXNfZGV2aWNlJ10gPSBwb2ludC5oYXNfZGV2aWNlO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2hhc19zYW1wbGVyJ10gPSBwb2ludC5oYXNfc2FtcGxlcjtcbiAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbiAgY29uc3QgbWFya2VyT25NYXAgPSBsYXllckdyb3VwXG4gICAgLmdldExheWVycygpXG4gICAgLmZpbmQoKGxheWVyKSA9PiBsYXllci5rYW5kb19vYmplY3RfaWQgPT09IHBvaW50LmlkKTtcblxuICAvLyBsZXQgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IG1hcmtlck9uTWFwXG4gIC8vICAgPyBtYXJrZXJPbk1hcFxuICAvLyAgIDogTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgLy8gICAgICAgaWNvbjogZ2V0SWNvbihwb2ludCwgZmFsc2UsIHN1YnRpdGxlKSxcbiAgLy8gICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gIC8vICAgICB9KTtcblxuICBpZiAoIW1hcmtlck9uTWFwKSB7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faGFzX2RldmljZSddID0gcG9pbnQuaGFzX2RldmljZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2hhc19zYW1wbGVyJ10gPSBwb2ludC5oYXNfc2FtcGxlcjtcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuXG4gICAgbGF5ZXJHcm91cC5hZGRMYXllcihwb2ludEN1c3RvbUljb24pO1xuICAgIGlmIChwb2ludElzRmFjdG9yeShwb2ludCkpIHtcbiAgICAgIGJpbmRQb3B1cFRvTWFya2VyKHBvaW50LCBwb2ludEN1c3RvbUljb24sIGZsb3dfcmF0ZV91bml0KTtcbiAgICB9XG5cbiAgICBoYW5kbGVNYXJrZXJFdmVudHMobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljayk7XG4gIH1cblxuICAvLyBDb25zaWRlciByZW1vdmluZyB0aGlzLCBpdCdzIG5vdCBmdW5jdGlvbmFsIGFuZCBub3R1c2VkIGFueXdoZXJlXG4gIGlmIChwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50KSB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbiA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBMLmRpdkljb24oe1xuICAgICAgICBjbGFzc05hbWU6IGBcbiAgICAgICAgICAke1xuICAgICAgICAgICAgcG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA+PSAxMDBcbiAgICAgICAgICAgICAgPyAnY2lyY2xlLWV2ZW50cy1hbW91bnQgY2lyY2xlLWV2ZW50cy1hbW91bnQtLXRyaWRpZ2l0J1xuICAgICAgICAgICAgICA6ICdjaXJjbGUtZXZlbnRzLWFtb3VudCdcbiAgICAgICAgICB9IFxuICAgICAgICAgICR7cG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA+IDIgPyAnYWxlcnQtY29sb3InIDogJyd9XG4gICAgICAgICAgICBgLFxuICAgICAgICBodG1sOiBgPHA+JHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50fTwvcD5gLFxuICAgICAgICBpY29uQW5jaG9yOiBldmVudHNDb3VudEljb24obWFwLl96b29tKS5pY29uQW5jaG9yLFxuICAgICAgfSksXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgICBvcGFjaXR5OiBob3ZlcmVkID8gMSA6IDAsXG4gICAgfSk7XG5cbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdJY29uTnVtYmVyJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdJY29uTnVtYmVySG92ZXJlZCc7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNYW5ob2xlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgbGV0IHBvaW50SWNvbiA9IG5ldyBMLkljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUG9pbnQsXG4gICAgaWNvblNpemU6IFs5LCA5XSxcbiAgICBpY29uQW5jaG9yOiBbNC41LCA0LjVdLFxuICB9KTtcbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBuZXcgTC5NYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBwb2ludEljb24sXG4gICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gIH0pO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb29sdGlwU3RyaW5nKHBvaW50KSk7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBtYW5ob2xlSWNvblsna2FuZG9fcG9pbnRfdHlwZSddID0gJ01hbmhvbGUnO1xuICBtYW5ob2xlSWNvblsna2FuZG9faGFzX2RldmljZSddID0gcG9pbnQuaGFzX2RldmljZTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX2hhc19zYW1wbGVyJ10gPSBwb2ludC5oYXNfc2FtcGxlcjtcbiAgaWYgKGhvdmVyZWQpIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuICBsYXllckdyb3VwLmFkZExheWVyKG1hbmhvbGVJY29uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXRjaEljb25Ub1BvaW50ID0gKHBvaW50OiBJUG9pbnQsIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgc3dpdGNoIChwb2ludC5ncm91cC50eXBlKSB7XG4gICAgY2FzZSAnR3JvdXBzOjpGYWN0b3J5JzpcbiAgICAgIGlmIChjb21iaW5lZEZhY3RvcnlJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZEZhY3RvcnlJY29uO1xuICAgIGNhc2UgJ0dyb3Vwczo6UHVtcFN0YXRpb24nOlxuICAgICAgaWYgKGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbjtcbiAgICBjYXNlICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc6XG4gICAgICBpZiAoY29tYmluZWRXV1RQSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRXV1RQSWNvbjtcblxuICAgIGNhc2UgJ0dyb3Vwczo6Q29sbGVjdG9ycyc6XG4gICAgICBpZiAoaXNDb2xsZWN0b3JGb2N1c2VkKHBvaW50LCBldmVudCkpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcbiAgICAgICAgICAgIGljb25BbmNob3I6IFszMCwgNTJdLFxuICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHdhdGVySWNvbk5vQmFja2dyb3VuZCxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG5cbiAgICAgICAgICAgIGljb25BbmNob3I6IFsyMiwgNDRdLFxuICAgICAgICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRDb2xsZWN0b3JzSWNvbjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHN0YW5kYXJkQmFja2dyb3VuZCA9IChcbiAgc2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UsXG4gIHRoaXJkOiBib29sZWFuID0gZmFsc2UsXG4pID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQaW5CbGFja1NoYWRvdyxcbiAgICBpY29uU2l6ZTogc2Vjb25kYXJ5ID8gWzAsIDBdIDogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IHNlY29uZGFyeSAmJiB0aGlyZCA/IFstMiwgMTldIDogc2Vjb25kYXJ5ID8gWy0yLCA0NF0gOiBbMjAsIDQyXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkRmFjdG9yeUljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogeWVsbG93Q2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogcGxhbnRJY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzUsIDMwXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkUHVtcFN0YXRpb25JY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGdyZWVuQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogcHVtcFN0YXRpb25JY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzcsIDMyXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkQ29sbGVjdG9yc0ljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogY29sbGVjdG9ySWNvbixcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgaWNvbkFuY2hvcjogWzI1LCA1MF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFdXVFBJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGJyaWdodEJsdWVDaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBXV1RQSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs4LCAzMV0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RlZEJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgbGV0IHNvdXJjZTtcblxuICBpZiAoZXZlbnQgIT09IG51bGwgJiYgZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHNvdXJjZSA9IGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdO1xuICB9XG5cbiAgcmV0dXJuIGV2ZW50ICE9PSBudWxsICYmIHNvdXJjZSAmJiBldmVudC5zZWxlY3RlZF9zb3VyY2UgPT09IHNvdXJjZS5wb2ludF9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9Tb3VyY2UgPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAoZXZlbnQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICByZXR1cm4gKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZClbMF1cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBzZWNvbmRhcnlJY29uOiBib29sZWFuLFxuICBtYXAsXG4gIHBvaW50OiBJUG9pbnQsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICAvLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuICAvLyBJY29uIEFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuICBsZXQgc2FtcGxpbmdJY29uID0gW1xuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBibHVlQ2lyY2xlVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCAxNV0gOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHNhbXBsaW5nSWNvblVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstOCwgMTNdIDogWzUsIDMwXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBsZXQgdGhpcmRJY29uID0gZmFsc2U7XG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlyZEljb24gPSB0cnVlO1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uLCB0aGlyZEljb24pKTtcbiAgfVxuXG4gIHNhbXBsaW5nSWNvbi5mb3JFYWNoKChpY29uLCBpbmRleCkgPT4ge1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBpY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgIH0pO1xuICAgIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb29sdGlwU3RyaW5nKHBvaW50KSk7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19pbmRleF9vYmplY3QnXSA9IGluZGV4O1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fZmV3X2xheWVyX2ljb24nXSA9IHRydWU7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19zZWNvbmRhcnknXSA9IHRoaXJkSWNvbiA/IGZhbHNlIDogc2Vjb25kYXJ5SWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3RoaXJkJ10gPSB0aGlyZEljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmcnO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nSG92ZXJlZCc7XG4gICAgbGF5ZXJHcm91cC5hZGRMYXllcihwb2ludEN1c3RvbUljb24pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBzZWNvbmRhcnlJY29uOiBib29sZWFuLFxuICBtYXAsXG4gIHBvaW50OiBJUG9pbnQsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICAvLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuICAvLyBJY29uIEFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuICBsZXQgb2JzZXJ2YXRpb25JY29uID0gW1xuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBwaW5rQ2lyY2xlVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCA0MF0gOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IG9ic2VydmF0aW9uSWNvblVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstOCwgMzhdIDogWzUsIDMwXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKHNlY29uZGFyeUljb24pKTtcbiAgfVxuXG4gIG9ic2VydmF0aW9uSWNvbi5mb3JFYWNoKChpY29uLCBpbmRleCkgPT4ge1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBpY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgIH0pO1xuICAgIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb29sdGlwU3RyaW5nKHBvaW50KSk7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19pbmRleF9vYmplY3QnXSA9IGluZGV4O1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fZmV3X2xheWVyX2ljb24nXSA9IHRydWU7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19zZWNvbmRhcnknXSA9IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gZmFsc2U7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb24nO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uSG92ZXJlZCc7XG4gICAgbGF5ZXJHcm91cC5hZGRMYXllcihwb2ludEN1c3RvbUljb24pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTYW1wbGluZ0ljb25zID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZCxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgbGV0IHNhbXBsZWRQb2ludElkcyA9IGV2ZW50LnNhbXBsaW5ncy5tYXAoKHMpID0+IHMucG9pbnRfaWQpO1xuICBpZiAoXG4gICAgZXZlbnQgIT09IG51bGwgJiZcbiAgICBldmVudC5zYW1wbGluZ3MubGVuZ3RoICE9PSAwICYmXG4gICAgc2FtcGxlZFBvaW50SWRzLmluY2x1ZGVzKHBvaW50LmlkKVxuICApIHtcbiAgICBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludChcbiAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgbWF0Y2hJY29uVG9Qb2ludChwb2ludCwgZXZlbnQpICE9PSBudWxsLFxuICAgICAgbWFwLFxuICAgICAgcG9pbnQsXG4gICAgICBldmVudCxcbiAgICAgIGhvdmVyZWQsXG4gICAgICBsYXllckdyb3VwLFxuICAgICk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwb3B1cENvbnRlbnQgPSAob2JzOiBhbnksIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKG9icyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7cG9pbnQuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7cG9pbnQuZ3JvdXAubmFtZX08L2I+PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzZWN0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke29icy5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtcbiAgICAgICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC5uYW1lXG4gICAgICAgICAgICAgICAgICAgIH08L2I+PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0eWAsXG4gICAgICAgICAgICAgICAgICAgICAgICApfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BvcHVwLWNvbnRlbnRfX3NldmVyaXR5LS0nICsgb2JzLnNldmVyaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGIgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1iXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4ke29icy5zZXZlcml0eX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8aHIgY2xhc3M9XCJwb3B1cC1jb250ZW50X19oclwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2Rpc2NoYXJnZS10aW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5maXJzdF9zZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGIgaWQ9XCJmaXJzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGIgaWQ9XCJsYXN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH1cbn07XG5cbmNvbnN0IGdldEljb24gPSAocG9pbnQ6IElQb2ludCwgY2xpY2tlZDogYm9vbGVhbiwgc3VidGl0bGU/OiBzdHJpbmcpID0+IHtcbiAgY29uc3QgaXNXV1RQID0gcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JztcbiAgY29uc3QgdHlwZSA9XG4gICAgcG9pbnQuaGFzX2RldmljZSB8fCBpc1dXVFAgPyBwb2ludC5ncm91cC50eXBlIDogJ0dyb3Vwczo6ZGVmYXVsdCc7XG4gIGxldCBzdWJ0aXRsZVRleHQgPSBzdWJ0aXRsZSA/IHN1YnRpdGxlIDogcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWU7XG4gIGlmIChpc1dXVFAgJiYgIXBvaW50Lmhhc19kZXZpY2UpIHtcbiAgICBzdWJ0aXRsZVRleHQgKz0gYCAoJHtpMThuLnQoXG4gICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkudW5tb25pdG9yZWQnLFxuICAgICl9KWA7XG4gIH1cbiAgcmV0dXJuIGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICB0eXBlLFxuICAgIHBvaW50Lm5hbWUsXG4gICAgc3VidGl0bGVUZXh0LFxuICAgIGNsaWNrZWQsXG4gICAgIWNsaWNrZWQsXG4gICAgZmFsc2UsXG4gICAgcG9pbnQuaGFzX3NhbXBsZXIsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkLCBwb2ludCwgc3VidGl0bGUgPSAnJykgPT4ge1xuICBlbGVtZW50LnNldEljb24oZ2V0SWNvbihwb2ludCwgY2xpY2tlZCwgc3VidGl0bGUpKTtcbn07XG5cbi8vIHJvdW5kIHRvIG5lYXJlc3QgdGhvdXNhbmQgaXMgdXNlZCB3aGVuIHlvdSB3YW50IHRvIHJvdW5kIHRoZSB3YXRlciBjb25zdW1wdGlvbiB0byB0aGUgbmVhcmVzdCB0aG91c2FuZFxuLy8gZm9yIGV4YW1wbGU6IDIzNCw1NjcgLT4gMjM1LDAwMFxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24gPSAoXG4gIGZsb3dfcmF0ZV91bml0OiBzdHJpbmcsXG4gIHdhdGVyQ29uc3VtcHRpb246IG51bWJlcixcbiAgcm91bmRfdG9fbmVhcmVzdF9rOiBib29sZWFuID0gZmFsc2UsXG4pID0+IHtcbiAgbGV0IGNhbGN1bGF0ZWQgPSAnMCc7XG5cbiAgaWYgKHdhdGVyQ29uc3VtcHRpb24gPiAwKSB7XG4gICAgc3dpdGNoIChmbG93X3JhdGVfdW5pdCkge1xuICAgICAgY2FzZSAnbTNkJzpcbiAgICAgICAgY2FsY3VsYXRlZCA9IHdhdGVyQ29uc3VtcHRpb24udG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdnZF91cyc6XG4gICAgICAgIGNhbGN1bGF0ZWQgPSAod2F0ZXJDb25zdW1wdGlvbiAqIDI2NC4xNzIpLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZ2RfdWsnOlxuICAgICAgICBjYWxjdWxhdGVkID0gKHdhdGVyQ29uc3VtcHRpb24gKiAyMTkuOTY5KS50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKHJvdW5kX3RvX25lYXJlc3Rfaykge1xuICAgIHJldHVybiByb3VuZFRvTmVhcmVzdFRob3VzYW5kKHBhcnNlRmxvYXQoY2FsY3VsYXRlZCkpLnRvTG9jYWxlU3RyaW5nKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChjYWxjdWxhdGVkKSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgfVxufTtcblxuY29uc3Qgcm91bmRUb05lYXJlc3RUaG91c2FuZCA9IChudW1iZXIpID0+IHtcbiAgLy8gaWYoaXNBbHJlYWR5Um91bmRlZChudW1iZXIpKSB7XG4gIC8vICAgcmV0dXJuIG51bWJlcjtcbiAgLy8gfVxuXG4gIGlmIChudW1iZXIgPCAxMDAwKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQobnVtYmVyKTtcbiAgfVxuXG4gIGNvbnN0IHJvdW5kZWRUaG91c2FuZHMgPSBNYXRoLnJvdW5kKG51bWJlciAvIDEwMDApO1xuICBjb25zdCByb3VuZGVkVmFsdWUgPSByb3VuZGVkVGhvdXNhbmRzICogMTAwMDtcblxuICByZXR1cm4gcm91bmRlZFZhbHVlO1xufTtcblxuLy8gY29uc3QgaXNBbHJlYWR5Um91bmRlZCA9IChudW1iZXIpID0+IHtcbi8vICAgcmV0dXJuIG51bWJlciA9PT0gTWF0aC5yb3VuZChudW1iZXIpO1xuLy8gfVxuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlRmxvd1JhdGUgPSAoZmxvd19yYXRlX3VuaXQpID0+IHtcbiAgcmV0dXJuIGkxOG4udChcbiAgICBgZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy4ke1xuICAgICAgZmxvd19yYXRlX3VuaXQuaW5jbHVkZXMoJ2dkJykgPyAnZ2QnIDogZmxvd19yYXRlX3VuaXRcbiAgICB9YCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVNYXJrZXJFdmVudHMgPSAoXG4gIG1hcCxcbiAgcG9pbnQsXG4gIHBvaW50Q3VzdG9tSWNvbixcbiAgaGFuZGxlQ2xpY2ssXG4pID0+IHtcbiAgbGV0IHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG5cbiAgbWFwLm9uKCd6b29tc3RhcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdwb3B1cGNsb3NlJywgKCkgPT4ge1xuICAgIC8vIHNldEljb24ocG9pbnRDdXN0b21JY29uLCBmYWxzZSwgcG9pbnQpO1xuICAgIHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBvcGVuJywgKCkgPT4ge1xuICAgIC8vIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSB0cnVlO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICBpZiAodG9vbHRpcFZpc2libGUpIHJldHVybjtcblxuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSB0cnVlO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgIGlmIChwb2ludEN1c3RvbUljb24uaXNQb3B1cE9wZW4oKSkgcmV0dXJuO1xuXG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcbiAgfSk7XG5cbiAgaWYgKHR5cGVvZiBoYW5kbGVDbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHBvaW50Q3VzdG9tSWNvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBoYW5kbGVDbGljayhwb2ludEN1c3RvbUljb24ua2FuZG9fb2JqZWN0X2lkKTtcblxuICAgICAgaWYgKHBvaW50SXNGYWN0b3J5KHBvaW50KSkge1xuICAgICAgICBzZW5kQW5hbHl0aWNzRXZlbnQoJ01hcCBWaWV3IC0gRmFjdG9yeSBjbGlja2VkJywgJ21hcCcsIHtcbiAgICAgICAgICBwb2ludF9pZDogcG9pbnQuaWQsXG4gICAgICAgICAgcG9pbnRfbmFtZTogcG9pbnQubmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBiaW5kUG9wdXBUb01hcmtlciA9IChwb2ludCwgbGF5ZXJHcm91cCwgZmxvd19yYXRlX3VuaXQpID0+IHtcbiAgbGV0IGNvbnRlbnQgPSBgXG4gICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50Jz5cbiAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXInPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudF9faGVhZGVyX190aXRsZXNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX190aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lm5hbWVcbiAgICAgICAgICAgICAgICB9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc19fc3VidGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5Jz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbSc+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX19pY29uJz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9JyR7d2F0ZXJSZXVzZUljb259JyAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzJz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX190aXRsZSc+XG4gICAgICAgICAgICAgICAgICAgICR7Z2V0Rmxvd1JhdGUocG9pbnQuZ3JvdXAud2F0ZXJfZGlzY2hhcmdlLCBmbG93X3JhdGVfdW5pdCl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX19zdWJ0aXRsZSc+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICd3YXRlcl9kaXNjaGFyZ2UnLFxuICAgICAgICAgICAgICAgICAgKX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBgO1xuXG4gIGxheWVyR3JvdXAuYmluZFBvcHVwKGNvbnRlbnQsIHtcbiAgICBjbGFzc05hbWU6ICdwb2ludC1tYXJrZXItcG9wdXAnLFxuICAgIG1pbldpZHRoOiAnMjE0cHgnLFxuICAgIG1heFdpZHRoOiAnMjE0cHgnLFxuICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGbG93UmF0ZSA9IChcbiAgd2F0ZXJDb25zdW1wdGlvbjogbnVtYmVyLFxuICBmbG93UmF0ZVVuaXQ6IHN0cmluZyxcbiAgaXNSb3VuZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGlmICh3YXRlckNvbnN1bXB0aW9uID4gMCkge1xuICAgIHJldHVybiAoXG4gICAgICBjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uKGZsb3dSYXRlVW5pdCwgd2F0ZXJDb25zdW1wdGlvbiwgaXNSb3VuZCkgK1xuICAgICAgJyAnICtcbiAgICAgIHRyYW5zbGF0ZUZsb3dSYXRlKGZsb3dSYXRlVW5pdClcbiAgICApO1xuICB9XG4gIHJldHVybiBpMThuLnQoJ2V2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLnVua25vd24nKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVMYXllckdyb3VwID0gKG1hcCwgbGF5ZXJHcm91cCkgPT4ge1xuICBpZiAobWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLnJlbW92ZUxheWVyKGxheWVyR3JvdXApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYWRkTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKCFtYXAuaGFzTGF5ZXIobGF5ZXJHcm91cCkpIHtcbiAgICBtYXAuYWRkTGF5ZXIobGF5ZXJHcm91cCk7XG4gIH0gZWxzZSB7XG4gICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGxheWVyR3JvdXApO1xuICAgIGFkZExheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNXV1RQID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc0ZhY3RvcnkgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gaXNGYWN0b3J5VHlwZShwb2ludC5ncm91cC50eXBlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0ZhY3RvcnlUeXBlID0gKHR5cGU6IHN0cmluZykgPT4ge1xuICByZXR1cm4gdHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeSc7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUEyQyxJQUFBRSxXQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBRyxhQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBSSxXQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBSyxnQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBTzNDLElBQUFNLGdCQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxrQkFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsb0JBQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUF5RixJQUFBUyxhQUFBLEdBQUFWLHNCQUFBLENBQUFDLE9BQUE7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
485
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJwb2ludElzRmFjdG9yeSIsInNlY3Rvcl9uYW1lIiwid2F0ZXJfZGlzY2hhcmdlIiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0SWNvbiIsInd3dHBQb2ludCIsInJpc2VPbkhvdmVyIiwiaGFzX2RldmljZSIsImhhc19zYW1wbGVyIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXAiLCJob3ZlcmVkIiwibGF5ZXJHcm91cCIsImZsb3dfcmF0ZV91bml0IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiaGFuZGxlQ2xpY2siLCJtYXJrZXJPbk1hcCIsImdldExheWVycyIsImZpbmQiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsInN1YnRpdGxlIiwidHlwZSIsImdldFBvaW50SWNvbkJ5VHlwZSIsImFkZExheWVyIiwiYmluZFBvcHVwVG9NYXJrZXIiLCJoYW5kbGVNYXJrZXJFdmVudHMiLCJjcmVhdGVNYW5ob2xlUG9pbnQiLCJwb2ludEljb24iLCJJY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIk1hcmtlciIsImJpbmRUb29sdGlwIiwibWF0Y2hJY29uVG9Qb2ludCIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImZvckVhY2giLCJpbmRleCIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5IiwiY2xpY2tlZCIsImlzV1dUUCIsInN1YnRpdGxlVGV4dCIsInNldEljb24iLCJlbGVtZW50IiwiY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiIsIndhdGVyQ29uc3VtcHRpb24iLCJyb3VuZF90b19uZWFyZXN0X2siLCJjYWxjdWxhdGVkIiwidG9GaXhlZCIsInJvdW5kVG9OZWFyZXN0VGhvdXNhbmQiLCJwYXJzZUZsb2F0IiwidG9Mb2NhbGVTdHJpbmciLCJNYXRoIiwicm91bmQiLCJudW1iZXIiLCJyb3VuZGVkVGhvdXNhbmRzIiwicm91bmRlZFZhbHVlIiwidHJhbnNsYXRlRmxvd1JhdGUiLCJ0b29sdGlwVmlzaWJsZSIsIm9uIiwiY2xvc2VQb3B1cCIsImlzUG9wdXBPcGVuIiwic2VuZEFuYWx5dGljc0V2ZW50IiwicG9pbnRfbmFtZSIsImNvbnRlbnQiLCJ3YXRlclJldXNlSWNvbiIsImdldEZsb3dSYXRlIiwiYmluZFBvcHVwIiwiY2xhc3NOYW1lIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsImNsb3NlQnV0dG9uIiwiZmxvd1JhdGVVbml0IiwiaXNSb3VuZCIsInJlbW92ZUxheWVyR3JvdXAiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiYWRkTGF5ZXJHcm91cCIsInBvaW50SXNXV1RQIiwiaXNGYWN0b3J5VHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3JhcGhJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9saW5lLWNoYXJ0LnN2Zyc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgc2FtcGxpbmdJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9zYW1wbGluZy1pY29uLnN2Zyc7XG5pbXBvcnQgcGlua0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcGluay1jaXJjbGUuc3ZnJztcbmltcG9ydCBvYnNlcnZhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL29ic2VydmF0aW9uLWljb24uc3ZnJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCByZWRQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3JlZC1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluQmxhY2tTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1ibGFjay1zaGFkb3cucG5nJztcbmltcG9ydCB5ZWxsb3dDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3llbGxvdy1jaXJjbGUuc3ZnJztcbmltcG9ydCBwbGFudEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2ZhY3RvcnktaWNvbi5zdmcnO1xuaW1wb3J0IGdyZWVuQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ncmVlbi1jaXJjbGUuc3ZnJztcbmltcG9ydCBwdW1wU3RhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3B1bXAtc3RhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgY29sbGVjdG9ySWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbWFwL3Bpbi13YXRlci5zdmcnO1xuaW1wb3J0IGJyaWdodEJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JyaWdodC1ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IFdXVFBJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9XV1RQLWljb24uc3ZnJztcbmltcG9ydCB3YXRlckljb25Ob0JhY2tncm91bmQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3dhdGVyLW5vLWJhY2tncm91bmQuc3ZnJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnLi9Qb2ludEljb24nO1xuaW1wb3J0IHdhdGVyUmV1c2VJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9pY29ucy93YXRlcl9yZXVzZS5zdmcnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc3RyaW5nID0gYCR7cG9pbnQuZ3JvdXAubmFtZX0gYDtcblxuICBpZiAocG9pbnRJc0ZhY3RvcnkocG9pbnQpKSB7XG4gICAgc3RyaW5nICs9IGA8YnIvPlNlY3RvcjogJHtwb2ludC5ncm91cC5zZWN0b3JfbmFtZX1gO1xuICAgIHN0cmluZyArPSBgPGJyLz5XYXRlciBDb25zdW1wdGlvbjogJHtwb2ludC5ncm91cC53YXRlcl9kaXNjaGFyZ2V9YDtcbiAgfSBlbHNlIHtcbiAgICBzdHJpbmcgPSBgJHtwb2ludC5uYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUZvcldXVFAgPSAoYXJncykgPT4ge1xuICBjb25zdCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIoYXJncy5tYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IGdldEljb24oYXJncy53d3RwUG9pbnQsIGZhbHNlKSxcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBhcmdzLnd3dHBQb2ludC5pZDtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faGFzX2RldmljZSddID0gYXJncy53d3RwUG9pbnQuaGFzX2RldmljZTtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19oYXNfc2FtcGxlciddID0gYXJncy53d3RwUG9pbnQuaGFzX3NhbXBsZXI7XG5cbiAgcmV0dXJuIHBvaW50Q3VzdG9tSWNvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVCdWJibGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbiAgZmxvd19yYXRlX3VuaXQgPSAnZ2RfdXMnLFxuICBoYW5kbGVDbGljaz8sXG4pID0+IHtcbiAgY29uc3QgbWFya2VyT25NYXAgPSBsYXllckdyb3VwXG4gICAgLmdldExheWVycygpXG4gICAgLmZpbmQoKGxheWVyKSA9PiBsYXllci5rYW5kb19vYmplY3RfaWQgPT09IHBvaW50LmlkKTtcblxuICBpZiAoIW1hcmtlck9uTWFwKSB7XG4gICAgY29uc3Qgc3VidGl0bGUgPSBwb2ludElzRmFjdG9yeShwb2ludCkgPyBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSA6ICcnO1xuICAgIGNvbnN0IHR5cGUgPSBwb2ludC5oYXNfZGV2aWNlID8gcG9pbnQuZ3JvdXAudHlwZSA6ICdHcm91cHM6OmRlZmF1bHQnO1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgICAgdHlwZSxcbiAgICAgICAgcG9pbnQubmFtZSxcbiAgICAgICAgc3VidGl0bGUsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICB0cnVlLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgcG9pbnQuaGFzX3NhbXBsZXIsXG4gICAgICApLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19oYXNfZGV2aWNlJ10gPSBwb2ludC5oYXNfZGV2aWNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faGFzX3NhbXBsZXInXSA9IHBvaW50Lmhhc19zYW1wbGVyO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG5cbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gICAgaWYgKHBvaW50SXNGYWN0b3J5KHBvaW50KSkge1xuICAgICAgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgZmxvd19yYXRlX3VuaXQpO1xuICAgIH1cblxuICAgIGhhbmRsZU1hcmtlckV2ZW50cyhtYXAsIHBvaW50LCBwb2ludEN1c3RvbUljb24sIGhhbmRsZUNsaWNrKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19wb2ludF90eXBlJ10gPSAnTWFuaG9sZSc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19oYXNfZGV2aWNlJ10gPSBwb2ludC5oYXNfZGV2aWNlO1xuICBtYW5ob2xlSWNvblsna2FuZG9faGFzX3NhbXBsZXInXSA9IHBvaW50Lmhhc19zYW1wbGVyO1xuICBpZiAoaG92ZXJlZCkgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIobWFuaG9sZUljb24pO1xufTtcblxuLy8gKioqQ29uc2lkZXIgcmVtb3ZpbmcgdGhpcyBmdW5jdGlvbiBpdCBpcyBub3QgdXNlZCBmb3IgbW9yZSB0aGFuIHR3byB5ZWFycyoqKlxuZXhwb3J0IGNvbnN0IG1hdGNoSWNvblRvUG9pbnQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBzd2l0Y2ggKHBvaW50Lmdyb3VwLnR5cGUpIHtcbiAgICBjYXNlICdHcm91cHM6OkZhY3RvcnknOlxuICAgICAgaWYgKGNvbWJpbmVkRmFjdG9yeUljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkRmFjdG9yeUljb247XG4gICAgY2FzZSAnR3JvdXBzOjpQdW1wU3RhdGlvbic6XG4gICAgICBpZiAoY29tYmluZWRQdW1wU3RhdGlvbkljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uO1xuICAgIGNhc2UgJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JzpcbiAgICAgIGlmIChjb21iaW5lZFdXVFBJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZFdXVFBJY29uO1xuXG4gICAgY2FzZSAnR3JvdXBzOjpDb2xsZWN0b3JzJzpcbiAgICAgIGlmIChpc0NvbGxlY3RvckZvY3VzZWQocG9pbnQsIGV2ZW50KSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgICAgICAgICAgaWNvbkFuY2hvcjogWzMwLCA1Ml0sXG4gICAgICAgICAgfSksXG5cbiAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgaWNvblVybDogd2F0ZXJJY29uTm9CYWNrZ3JvdW5kLFxuICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgICAgICAgICAgaWNvbkFuY2hvcjogWzIyLCA0NF0sXG4gICAgICAgICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZENvbGxlY3RvcnNJY29uO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc3RhbmRhcmRCYWNrZ3JvdW5kID0gKFxuICBzZWNvbmRhcnk6IGJvb2xlYW4gPSBmYWxzZSxcbiAgdGhpcmQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBpbkJsYWNrU2hhZG93LFxuICAgIGljb25TaXplOiBzZWNvbmRhcnkgPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5ICYmIHRoaXJkID8gWy0yLCAxOV0gOiBzZWNvbmRhcnkgPyBbLTIsIDQ0XSA6IFsyMCwgNDJdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRGYWN0b3J5SWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiB5ZWxsb3dDaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBwbGFudEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbNSwgMzBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRQdW1wU3RhdGlvbkljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogZ3JlZW5DaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBwdW1wU3RhdGlvbkljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbNywgMzJdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRDb2xsZWN0b3JzSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBjb2xsZWN0b3JJY29uLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG5cbiAgICBpY29uQW5jaG9yOiBbMjUsIDUwXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkV1dUUEljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogYnJpZ2h0Qmx1ZUNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IFdXVFBJY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzgsIDMxXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdGVkQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBpblJlZFNoYWRvdyxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UgPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc291cmNlO1xuXG4gIGlmIChldmVudCAhPT0gbnVsbCAmJiBldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgc291cmNlID0gZXZlbnQuc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZClbMF07XG4gIH1cblxuICByZXR1cm4gZXZlbnQgIT09IG51bGwgJiYgc291cmNlICYmIGV2ZW50LnNlbGVjdGVkX3NvdXJjZSA9PT0gc291cmNlLnBvaW50X2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChldmVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiAoXG4gICAgZXZlbnQgIT09IG51bGwgJiZcbiAgICBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXVxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBzYW1wbGluZ0ljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IGJsdWVDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDE1XSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogc2FtcGxpbmdJY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAxM10gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGxldCB0aGlyZEljb24gPSBmYWxzZTtcbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIHRoaXJkSWNvbiA9IHRydWU7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKHNlY29uZGFyeUljb24sIHRoaXJkSWNvbikpO1xuICB9XG5cbiAgc2FtcGxpbmdJY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gdGhpcmRJY29uID8gZmFsc2UgOiBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IHRoaXJkSWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZyc7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmdIb3ZlcmVkJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBvYnNlcnZhdGlvbkljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHBpbmtDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDQwXSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogb2JzZXJ2YXRpb25JY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAzOF0gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbikpO1xuICB9XG5cbiAgb2JzZXJ2YXRpb25JY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gc2Vjb25kYXJ5SWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3RoaXJkJ10gPSBmYWxzZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbic7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb25Ib3ZlcmVkJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvbnMgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkLFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgc2FtcGxlZFBvaW50SWRzID0gZXZlbnQuc2FtcGxpbmdzLm1hcCgocykgPT4gcy5wb2ludF9pZCk7XG4gIGlmIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNhbXBsaW5ncy5sZW5ndGggIT09IDAgJiZcbiAgICBzYW1wbGVkUG9pbnRJZHMuaW5jbHVkZXMocG9pbnQuaWQpXG4gICkge1xuICAgIGNyZWF0ZVNhbXBsaW5nSWNvblBvaW50KFxuICAgICAgbWFya2VyTG9jYXRpb24sXG4gICAgICBtYXRjaEljb25Ub1BvaW50KHBvaW50LCBldmVudCkgIT09IG51bGwsXG4gICAgICBtYXAsXG4gICAgICBwb2ludCxcbiAgICAgIGV2ZW50LFxuICAgICAgaG92ZXJlZCxcbiAgICAgIGxheWVyR3JvdXAsXG4gICAgKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBvcHVwQ29udGVudCA9IChvYnM6IGFueSwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAob2JzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtwb2ludC5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtwb2ludC5ncm91cC5uYW1lfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInNlY3RvclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7b2JzLmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke1xuICAgICAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXR5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAncG9wdXAtY29udGVudF9fc2V2ZXJpdHktLScgKyBvYnMuc2V2ZXJpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLiR7b2JzLnNldmVyaXR5fWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2hyXCIgLz5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fZGlzY2hhcmdlLXRpbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmZpcnN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImZpcnN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5sYXN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImxhc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgfVxufTtcblxuY29uc3QgZ2V0SWNvbiA9IChwb2ludDogSVBvaW50LCBjbGlja2VkOiBib29sZWFuLCBzdWJ0aXRsZT86IHN0cmluZykgPT4ge1xuICBjb25zdCBpc1dXVFAgPSBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnO1xuICBjb25zdCB0eXBlID1cbiAgICBwb2ludC5oYXNfZGV2aWNlIHx8IGlzV1dUUCA/IHBvaW50Lmdyb3VwLnR5cGUgOiAnR3JvdXBzOjpkZWZhdWx0JztcbiAgbGV0IHN1YnRpdGxlVGV4dCA9IHN1YnRpdGxlID8gc3VidGl0bGUgOiBwb2ludC5ncm91cC5zZWN0b3JfbmFtZTtcbiAgaWYgKGlzV1dUUCAmJiAhcG9pbnQuaGFzX2RldmljZSkge1xuICAgIHN1YnRpdGxlVGV4dCArPSBgICgke2kxOG4udChcbiAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS51bm1vbml0b3JlZCcsXG4gICAgKX0pYDtcbiAgfVxuICByZXR1cm4gZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgIHR5cGUsXG4gICAgcG9pbnQubmFtZSxcbiAgICBzdWJ0aXRsZVRleHQsXG4gICAgY2xpY2tlZCxcbiAgICAhY2xpY2tlZCxcbiAgICBmYWxzZSxcbiAgICBwb2ludC5oYXNfc2FtcGxlcixcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRJY29uID0gKGVsZW1lbnQsIGNsaWNrZWQsIHBvaW50LCBzdWJ0aXRsZSA9ICcnKSA9PiB7XG4gIGVsZW1lbnQuc2V0SWNvbihnZXRJY29uKHBvaW50LCBjbGlja2VkLCBzdWJ0aXRsZSkpO1xufTtcblxuLy8gcm91bmQgdG8gbmVhcmVzdCB0aG91c2FuZCBpcyB1c2VkIHdoZW4geW91IHdhbnQgdG8gcm91bmQgdGhlIHdhdGVyIGNvbnN1bXB0aW9uIHRvIHRoZSBuZWFyZXN0IHRob3VzYW5kXG4vLyBmb3IgZXhhbXBsZTogMjM0LDU2NyAtPiAyMzUsMDAwXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiA9IChcbiAgZmxvd19yYXRlX3VuaXQ6IHN0cmluZyxcbiAgd2F0ZXJDb25zdW1wdGlvbjogbnVtYmVyLFxuICByb3VuZF90b19uZWFyZXN0X2s6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBsZXQgY2FsY3VsYXRlZCA9ICcwJztcblxuICBpZiAod2F0ZXJDb25zdW1wdGlvbiA+IDApIHtcbiAgICBzd2l0Y2ggKGZsb3dfcmF0ZV91bml0KSB7XG4gICAgICBjYXNlICdtM2QnOlxuICAgICAgICBjYWxjdWxhdGVkID0gd2F0ZXJDb25zdW1wdGlvbi50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dkX3VzJzpcbiAgICAgICAgY2FsY3VsYXRlZCA9ICh3YXRlckNvbnN1bXB0aW9uICogMjY0LjE3MikudG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdnZF91ayc6XG4gICAgICAgIGNhbGN1bGF0ZWQgPSAod2F0ZXJDb25zdW1wdGlvbiAqIDIxOS45NjkpLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBpZiAocm91bmRfdG9fbmVhcmVzdF9rKSB7XG4gICAgcmV0dXJuIHJvdW5kVG9OZWFyZXN0VGhvdXNhbmQocGFyc2VGbG9hdChjYWxjdWxhdGVkKSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGNhbGN1bGF0ZWQpKS50b0xvY2FsZVN0cmluZygpO1xuICB9XG59O1xuXG5jb25zdCByb3VuZFRvTmVhcmVzdFRob3VzYW5kID0gKG51bWJlcikgPT4ge1xuICAvLyBpZihpc0FscmVhZHlSb3VuZGVkKG51bWJlcikpIHtcbiAgLy8gICByZXR1cm4gbnVtYmVyO1xuICAvLyB9XG5cbiAgaWYgKG51bWJlciA8IDEwMDApIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChudW1iZXIpO1xuICB9XG5cbiAgY29uc3Qgcm91bmRlZFRob3VzYW5kcyA9IE1hdGgucm91bmQobnVtYmVyIC8gMTAwMCk7XG4gIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kZWRUaG91c2FuZHMgKiAxMDAwO1xuXG4gIHJldHVybiByb3VuZGVkVmFsdWU7XG59O1xuXG4vLyBjb25zdCBpc0FscmVhZHlSb3VuZGVkID0gKG51bWJlcikgPT4ge1xuLy8gICByZXR1cm4gbnVtYmVyID09PSBNYXRoLnJvdW5kKG51bWJlcik7XG4vLyB9XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVGbG93UmF0ZSA9IChmbG93X3JhdGVfdW5pdCkgPT4ge1xuICByZXR1cm4gaTE4bi50KFxuICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLiR7XG4gICAgICBmbG93X3JhdGVfdW5pdC5pbmNsdWRlcygnZ2QnKSA/ICdnZCcgOiBmbG93X3JhdGVfdW5pdFxuICAgIH1gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU1hcmtlckV2ZW50cyA9IChcbiAgbWFwLFxuICBwb2ludCxcbiAgcG9pbnRDdXN0b21JY29uLFxuICBoYW5kbGVDbGljayxcbikgPT4ge1xuICBsZXQgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcblxuICBtYXAub24oJ3pvb21zdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwY2xvc2UnLCAoKSA9PiB7XG4gICAgLy8gc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdwb3B1cG9wZW4nLCAoKSA9PiB7XG4gICAgLy8gc2V0SWNvbihwb2ludEN1c3RvbUljb24sIHRydWUsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IHRydWU7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbignbW91c2VvdmVyJywgKCkgPT4ge1xuICAgIGlmICh0b29sdGlwVmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIHRydWUsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IHRydWU7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbignbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgaWYgKHBvaW50Q3VzdG9tSWNvbi5pc1BvcHVwT3BlbigpKSByZXR1cm47XG5cbiAgICBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgZmFsc2UsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICB9KTtcblxuICBpZiAodHlwZW9mIGhhbmRsZUNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcG9pbnRDdXN0b21JY29uLm9uKCdjbGljaycsICgpID0+IHtcbiAgICAgIGhhbmRsZUNsaWNrKHBvaW50Q3VzdG9tSWNvbi5rYW5kb19vYmplY3RfaWQpO1xuXG4gICAgICBpZiAocG9pbnRJc0ZhY3RvcnkocG9pbnQpKSB7XG4gICAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBGYWN0b3J5IGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICAgIHBvaW50X2lkOiBwb2ludC5pZCxcbiAgICAgICAgICBwb2ludF9uYW1lOiBwb2ludC5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwLCBmbG93X3JhdGVfdW5pdCkgPT4ge1xuICBsZXQgY29udGVudCA9IGBcbiAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnQnPlxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcic+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3RpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQubmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX19zdWJ0aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHknPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX2ljb24nPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0nJHt3YXRlclJldXNlSWNvbn0nIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXMnPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3RpdGxlJz5cbiAgICAgICAgICAgICAgICAgICAgJHtnZXRGbG93UmF0ZShwb2ludC5ncm91cC53YXRlcl9kaXNjaGFyZ2UsIGZsb3dfcmF0ZV91bml0KX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3N1YnRpdGxlJz4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgJ3dhdGVyX2Rpc2NoYXJnZScsXG4gICAgICAgICAgICAgICAgICApfTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGA7XG5cbiAgbGF5ZXJHcm91cC5iaW5kUG9wdXAoY29udGVudCwge1xuICAgIGNsYXNzTmFtZTogJ3BvaW50LW1hcmtlci1wb3B1cCcsXG4gICAgbWluV2lkdGg6ICcyMTRweCcsXG4gICAgbWF4V2lkdGg6ICcyMTRweCcsXG4gICAgY2xvc2VCdXR0b246IHRydWUsXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZsb3dSYXRlID0gKFxuICB3YXRlckNvbnN1bXB0aW9uOiBudW1iZXIsXG4gIGZsb3dSYXRlVW5pdDogc3RyaW5nLFxuICBpc1JvdW5kOiBib29sZWFuID0gZmFsc2UsXG4pID0+IHtcbiAgaWYgKHdhdGVyQ29uc3VtcHRpb24gPiAwKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24oZmxvd1JhdGVVbml0LCB3YXRlckNvbnN1bXB0aW9uLCBpc1JvdW5kKSArXG4gICAgICAnICcgK1xuICAgICAgdHJhbnNsYXRlRmxvd1JhdGUoZmxvd1JhdGVVbml0KVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMudW5rbm93bicpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUxheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmIChtYXAuaGFzTGF5ZXIobGF5ZXJHcm91cCkpIHtcbiAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJHcm91cCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBhZGRMYXllckdyb3VwID0gKG1hcCwgbGF5ZXJHcm91cCkgPT4ge1xuICBpZiAoIW1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5hZGRMYXllcihsYXllckdyb3VwKTtcbiAgfSBlbHNlIHtcbiAgICByZW1vdmVMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gICAgYWRkTGF5ZXJHcm91cChtYXAsIGxheWVyR3JvdXApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc1dXVFAgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50Jztcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzRmFjdG9yeSA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBpc0ZhY3RvcnlUeXBlKHBvaW50Lmdyb3VwLnR5cGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRmFjdG9yeVR5cGUgPSAodHlwZTogc3RyaW5nKSA9PiB7XG4gIHJldHVybiB0eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jztcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQTJDLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFJLFdBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFLLGdCQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFPM0MsSUFBQU0sZ0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxvQkFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQXlGLElBQUFTLGFBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFVLFlBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFXLFlBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFZLGdCQUFBLEdBQUFiLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBYSxTQUFBLEdBQUFkLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBYyxpQkFBQSxHQUFBZixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQWUsU0FBQSxHQUFBaEIsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFnQixrQkFBQSxHQUFBakIsc0JBQUEsQ0FBQUMsT0FBQTtBQVN6RixJQUFBaUIsV0FBQSxHQUFBbEIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFrQixVQUFBLEdBQUFsQixPQUFBO0FBQWlELElBQUFtQixZQUFBLEdBQUFwQixzQkFBQSxDQUFBQyxPQUFBO0FBRWpELElBQUFvQixNQUFBLEdBQUFwQixPQUFBO0FBRU8sSUFBTXFCLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLEtBQWEsRUFBRUMsS0FBYSxFQUFLO0VBQUEsSUFBQUMsbUJBQUE7RUFDbEUsT0FDRSxDQUFBRCxLQUFLLGFBQUxBLEtBQUssd0JBQUFDLG1CQUFBLEdBQUxELEtBQUssQ0FBRUUsWUFBWSxjQUFBRCxtQkFBQSx1QkFBbkJBLG1CQUFBLENBQXFCRSxNQUFNLE1BQUssQ0FBQyxJQUNqQ0osS0FBSyxDQUFDSyxFQUFFLEtBQUtKLEtBQUssQ0FBQ0UsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDRyxRQUFRO0FBRS9DLENBQUM7QUFBQ0MsT0FBQSxDQUFBUixrQkFBQSxHQUFBQSxrQkFBQTtBQUVGLElBQU1TLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBeUJBLENBQUlSLEtBQWEsRUFBSztFQUNuRCxJQUFJUyxNQUFNLE1BQUFDLE1BQUEsQ0FBTVYsS0FBSyxDQUFDVyxLQUFLLENBQUNDLElBQUksTUFBRztFQUVuQyxJQUFJQyxjQUFjLENBQUNiLEtBQUssQ0FBQyxFQUFFO0lBQ3pCUyxNQUFNLG9CQUFBQyxNQUFBLENBQW9CVixLQUFLLENBQUNXLEtBQUssQ0FBQ0csV0FBVyxDQUFFO0lBQ25ETCxNQUFNLCtCQUFBQyxNQUFBLENBQStCVixLQUFLLENBQUNXLEtBQUssQ0FBQ0ksZUFBZSxDQUFFO0VBQ3BFLENBQUMsTUFBTTtJQUNMTixNQUFNLE1BQUFDLE1BQUEsQ0FBTVYsS0FBSyxDQUFDWSxJQUFJLENBQUU7RUFDMUI7RUFFQSxPQUFPSCxNQUFNO0FBQ2YsQ0FBQztBQUVNLElBQU1PLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSUMsSUFBSSxFQUFLO0VBQ3JDLElBQU1DLGVBQXlCLEdBQUdDLGdCQUFDLENBQUNDLE1BQU0sQ0FBQ0gsSUFBSSxDQUFDSSxjQUFjLEVBQUU7SUFDOURDLElBQUksRUFBRUMsT0FBTyxDQUFDTixJQUFJLENBQUNPLFNBQVMsRUFBRSxLQUFLLENBQUM7SUFDcENDLFdBQVcsRUFBRTtFQUNmLENBQUMsQ0FBQztFQUNGUCxlQUFlLENBQUMsaUJBQWlCLENBQUMsR0FBR0QsSUFBSSxDQUFDTyxTQUFTLENBQUNuQixFQUFFO0VBQ3REYSxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTztFQUN6Q0EsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUdELElBQUksQ0FBQ08sU0FBUyxDQUFDRSxVQUFVO0VBQy9EUixlQUFlLENBQUMsbUJBQW1CLENBQUMsR0FBR0QsSUFBSSxDQUFDTyxTQUFTLENBQUNHLFdBQVc7RUFFakUsT0FBT1QsZUFBZTtBQUN4QixDQUFDO0FBQUNYLE9BQUEsQ0FBQVMsYUFBQSxHQUFBQSxhQUFBO0FBRUssSUFBTVksaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FDNUJQLGNBQTJCLEVBQzNCckIsS0FBYSxFQUNiNkIsR0FBRyxFQUNIQyxPQUFRLEVBQ1JDLFVBQVcsRUFHUjtFQUFBLElBRkhDLGNBQWMsR0FBQUMsU0FBQSxDQUFBN0IsTUFBQSxRQUFBNkIsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxPQUFPO0VBQUEsSUFDeEJFLFdBQVksR0FBQUYsU0FBQSxDQUFBN0IsTUFBQSxPQUFBNkIsU0FBQSxNQUFBQyxTQUFBO0VBRVosSUFBTUUsV0FBVyxHQUFHTCxVQUFVLENBQzNCTSxTQUFTLENBQUMsQ0FBQyxDQUNYQyxJQUFJLENBQUMsVUFBQ0MsS0FBSztJQUFBLE9BQUtBLEtBQUssQ0FBQ0MsZUFBZSxLQUFLeEMsS0FBSyxDQUFDSyxFQUFFO0VBQUEsRUFBQztFQUV0RCxJQUFJLENBQUMrQixXQUFXLEVBQUU7SUFDaEIsSUFBTUssUUFBUSxHQUFHNUIsY0FBYyxDQUFDYixLQUFLLENBQUMsR0FBR0EsS0FBSyxDQUFDVyxLQUFLLENBQUNHLFdBQVcsR0FBRyxFQUFFO0lBQ3JFLElBQU00QixJQUFJLEdBQUcxQyxLQUFLLENBQUMwQixVQUFVLEdBQUcxQixLQUFLLENBQUNXLEtBQUssQ0FBQytCLElBQUksR0FBRyxpQkFBaUI7SUFDcEUsSUFBSXhCLGVBQXlCLEdBQUdDLGdCQUFDLENBQUNDLE1BQU0sQ0FBQ0MsY0FBYyxFQUFFO01BQ3ZEQyxJQUFJLEVBQUUsSUFBQXFCLDZCQUFrQixFQUN0QkQsSUFBSSxFQUNKMUMsS0FBSyxDQUFDWSxJQUFJLEVBQ1Y2QixRQUFRLEVBQ1IsS0FBSyxFQUNMLElBQUksRUFDSixLQUFLLEVBQ0x6QyxLQUFLLENBQUMyQixXQUNSLENBQUM7TUFDREYsV0FBVyxFQUFFO0lBQ2YsQ0FBQyxDQUFDO0lBRUZQLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHbEIsS0FBSyxDQUFDSyxFQUFFO0lBQzdDYSxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTztJQUN6Q0EsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUdsQixLQUFLLENBQUMwQixVQUFVO0lBQ3REUixlQUFlLENBQUMsbUJBQW1CLENBQUMsR0FBR2xCLEtBQUssQ0FBQzJCLFdBQVc7SUFDeEQsSUFBSUcsT0FBTyxFQUFFWixlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsY0FBYztJQUU3RGEsVUFBVSxDQUFDYSxRQUFRLENBQUMxQixlQUFlLENBQUM7SUFDcEMsSUFBSUwsY0FBYyxDQUFDYixLQUFLLENBQUMsRUFBRTtNQUN6QjZDLGlCQUFpQixDQUFDN0MsS0FBSyxFQUFFa0IsZUFBZSxFQUFFYyxjQUFjLENBQUM7SUFDM0Q7SUFFQWMsa0JBQWtCLENBQUNqQixHQUFHLEVBQUU3QixLQUFLLEVBQUVrQixlQUFlLEVBQUVpQixXQUFXLENBQUM7RUFDOUQ7QUFDRixDQUFDO0FBQUM1QixPQUFBLENBQUFxQixpQkFBQSxHQUFBQSxpQkFBQTtBQUVLLElBQU1tQixrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUM3QjFCLGNBQTJCLEVBQzNCckIsS0FBYSxFQUNiNkIsR0FBRyxFQUNIQyxPQUFRLEVBQ1JDLFVBQVcsRUFDUjtFQUNILElBQUlpQixTQUFTLEdBQUcsSUFBSTdCLGdCQUFDLENBQUM4QixJQUFJLENBQUM7SUFDekJDLE9BQU8sRUFBRUMsbUJBQVU7SUFDbkJDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEJDLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHO0VBQ3ZCLENBQUMsQ0FBQztFQUNGLElBQUlDLFdBQWdCLEdBQUcsSUFBSW5DLGdCQUFDLENBQUNvQyxNQUFNLENBQUNsQyxjQUFjLEVBQUU7SUFDbERDLElBQUksRUFBRTBCLFNBQVM7SUFDZnZCLFdBQVcsRUFBRTtFQUNmLENBQUMsQ0FBQztFQUNGNkIsV0FBVyxDQUFDRSxXQUFXLENBQUNoRCx5QkFBeUIsQ0FBQ1IsS0FBSyxDQUFDLENBQUM7RUFDekRzRCxXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBR3RELEtBQUssQ0FBQ0ssRUFBRTtFQUN6Q2lELFdBQVcsQ0FBQyxjQUFjLENBQUMsR0FBRyxPQUFPO0VBQ3JDQSxXQUFXLENBQUMsa0JBQWtCLENBQUMsR0FBRyxTQUFTO0VBQzNDQSxXQUFXLENBQUMsa0JBQWtCLENBQUMsR0FBR3RELEtBQUssQ0FBQzBCLFVBQVU7RUFDbEQ0QixXQUFXLENBQUMsbUJBQW1CLENBQUMsR0FBR3RELEtBQUssQ0FBQzJCLFdBQVc7RUFDcEQsSUFBSUcsT0FBTyxFQUFFd0IsV0FBVyxDQUFDLGNBQWMsQ0FBQyxHQUFHLGNBQWM7RUFDekR2QixVQUFVLENBQUNhLFFBQVEsQ0FBQ1UsV0FBVyxDQUFDO0FBQ2xDLENBQUM7O0FBRUQ7QUFBQS9DLE9BQUEsQ0FBQXdDLGtCQUFBLEdBQUFBLGtCQUFBO0FBQ08sSUFBTVUsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSXpELEtBQWEsRUFBRUMsS0FBYSxFQUFLO0VBQ2hFLFFBQVFELEtBQUssQ0FBQ1csS0FBSyxDQUFDK0IsSUFBSTtJQUN0QixLQUFLLGlCQUFpQjtNQUNwQixJQUFJZ0IsbUJBQW1CLENBQUN0RCxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3BDLElBQUl1RCw2QkFBNkIsQ0FBQzFELEtBQUssRUFBRUQsS0FBSyxDQUFDLEVBQUU7VUFDL0MwRCxtQkFBbUIsQ0FBQ0UsT0FBTyxDQUFDQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxNQUFNLElBQUlDLHFCQUFxQixDQUFDN0QsS0FBSyxFQUFFRCxLQUFLLENBQUMsRUFBRTtVQUM5QzBELG1CQUFtQixDQUFDRSxPQUFPLENBQUNHLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDLE1BQU07VUFDTEwsbUJBQW1CLENBQUNFLE9BQU8sQ0FBQ0ksa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ25EO01BQ0Y7TUFFQSxPQUFPTixtQkFBbUI7SUFDNUIsS0FBSyxxQkFBcUI7TUFDeEIsSUFBSU8sdUJBQXVCLENBQUM3RCxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3hDLElBQUl1RCw2QkFBNkIsQ0FBQzFELEtBQUssRUFBRUQsS0FBSyxDQUFDLEVBQUU7VUFDL0NpRSx1QkFBdUIsQ0FBQ0wsT0FBTyxDQUFDQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxNQUFNLElBQUlDLHFCQUFxQixDQUFDN0QsS0FBSyxFQUFFRCxLQUFLLENBQUMsRUFBRTtVQUM5Q2lFLHVCQUF1QixDQUFDTCxPQUFPLENBQUNHLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUM5RCxDQUFDLE1BQU07VUFDTEUsdUJBQXVCLENBQUNMLE9BQU8sQ0FBQ0ksa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZEO01BQ0Y7TUFFQSxPQUFPQyx1QkFBdUI7SUFDaEMsS0FBSyxrQ0FBa0M7TUFDckMsSUFBSUMsZ0JBQWdCLENBQUM5RCxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2pDLElBQUl1RCw2QkFBNkIsQ0FBQzFELEtBQUssRUFBRUQsS0FBSyxDQUFDLEVBQUU7VUFDL0NrRSxnQkFBZ0IsQ0FBQ04sT0FBTyxDQUFDQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxNQUFNLElBQUlDLHFCQUFxQixDQUFDN0QsS0FBSyxFQUFFRCxLQUFLLENBQUMsRUFBRTtVQUM5Q2tFLGdCQUFnQixDQUFDTixPQUFPLENBQUNHLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDLE1BQU07VUFDTEcsZ0JBQWdCLENBQUNOLE9BQU8sQ0FBQ0ksa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ2hEO01BQ0Y7TUFFQSxPQUFPRSxnQkFBZ0I7SUFFekIsS0FBSyxvQkFBb0I7TUFDdkIsSUFBSW5FLGtCQUFrQixDQUFDQyxLQUFLLEVBQUVDLEtBQUssQ0FBQyxFQUFFO1FBQ3BDLE9BQU8sQ0FDTGtCLGdCQUFDLENBQUNHLElBQUksQ0FBQztVQUNMNEIsT0FBTyxFQUFFaUIsd0JBQWU7VUFDeEJmLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7VUFDaEJDLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ3JCLENBQUMsQ0FBQyxFQUVGbEMsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO1VBQ0w0QixPQUFPLEVBQUVrQiwwQkFBcUI7VUFDOUJoQixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1VBRWhCQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1VBQ3BCZ0IsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUN0QixDQUFDLENBQUMsQ0FDSDtNQUNIO01BRUEsT0FBT0Msc0JBQXNCO0lBRS9CO01BQ0UsT0FBTyxJQUFJO0VBQ2Y7QUFDRixDQUFDO0FBQUMvRCxPQUFBLENBQUFrRCxnQkFBQSxHQUFBQSxnQkFBQTtBQUVLLElBQU1PLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUEsRUFHMUI7RUFBQSxJQUZITyxTQUFrQixHQUFBdEMsU0FBQSxDQUFBN0IsTUFBQSxRQUFBNkIsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxLQUFLO0VBQUEsSUFDMUJ1QyxLQUFjLEdBQUF2QyxTQUFBLENBQUE3QixNQUFBLFFBQUE2QixTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFHLEtBQUs7RUFFdEIsT0FBT2QsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0lBQ1o0QixPQUFPLEVBQUV1Qiw0QkFBbUI7SUFDNUJyQixRQUFRLEVBQUVtQixTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDbEIsVUFBVSxFQUFFa0IsU0FBUyxJQUFJQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBR0QsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzNFRixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0VBQ3RCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQzlELE9BQUEsQ0FBQXlELGtCQUFBLEdBQUFBLGtCQUFBO0FBRUssSUFBTU4sbUJBQW1CLEdBQUcsQ0FDakN2QyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7RUFDTDRCLE9BQU8sRUFBRXdCLHFCQUFlO0VBQ3hCdEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUNoQkMsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztFQUN4QmdCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdEIsQ0FBQyxDQUFDLEVBQ0ZsRCxnQkFBQyxDQUFDRyxJQUFJLENBQUM7RUFDTDRCLE9BQU8sRUFBRXlCLG9CQUFZO0VBQ3JCdkIsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUNoQkMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUNuQmdCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdEIsQ0FBQyxDQUFDLENBQ0g7QUFBQzlELE9BQUEsQ0FBQW1ELG1CQUFBLEdBQUFBLG1CQUFBO0FBRUssSUFBTU8sdUJBQXVCLEdBQUcsQ0FDckM5QyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7RUFDTDRCLE9BQU8sRUFBRTBCLG9CQUFjO0VBQ3ZCeEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUNoQkMsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztFQUN4QmdCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7QUFDdEIsQ0FBQyxDQUFDLEVBQ0ZsRCxnQkFBQyxDQUFDRyxJQUFJLENBQUM7RUFDTDRCLE9BQU8sRUFBRTJCLHdCQUFrQjtFQUMzQnpCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDaEJDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7RUFDbkJnQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ3RCLENBQUMsQ0FBQyxDQUNIO0FBQUM5RCxPQUFBLENBQUEwRCx1QkFBQSxHQUFBQSx1QkFBQTtBQUVLLElBQU1LLHNCQUFzQixHQUFHLENBQ3BDbkQsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0VBQ0w0QixPQUFPLEVBQUU0QixpQkFBYTtFQUN0QjFCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7RUFFaEJDLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7RUFDcEJnQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0FBQ3RCLENBQUMsQ0FBQyxDQUNIO0FBQUM5RCxPQUFBLENBQUErRCxzQkFBQSxHQUFBQSxzQkFBQTtBQUVLLElBQU1KLGdCQUFnQixHQUFHLENBQzlCL0MsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0VBQ0w0QixPQUFPLEVBQUU2Qix5QkFBbUI7RUFDNUIzQixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBQ2hCQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO0VBQ3hCZ0IsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUN0QixDQUFDLENBQUMsRUFDRmxELGdCQUFDLENBQUNHLElBQUksQ0FBQztFQUNMNEIsT0FBTyxFQUFFOEIsaUJBQVc7RUFDcEI1QixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBQ2hCQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ25CZ0IsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUN0QixDQUFDLENBQUMsQ0FDSDtBQUFDOUQsT0FBQSxDQUFBMkQsZ0JBQUEsR0FBQUEsZ0JBQUE7QUFFSyxJQUFNTCxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFBLEVBQVM7RUFDdEMsT0FBTzFDLGdCQUFDLENBQUNHLElBQUksQ0FBQztJQUNaNEIsT0FBTyxFQUFFaUIsd0JBQWU7SUFDeEJmLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEJDLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDcEJnQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0VBQ3RCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQzlELE9BQUEsQ0FBQXNELGtCQUFBLEdBQUFBLGtCQUFBO0FBRUssSUFBTUUseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FBQSxFQUFTO0VBQzdDLE9BQU81QyxnQkFBQyxDQUFDRyxJQUFJLENBQUM7SUFDWjRCLE9BQU8sRUFBRStCLDBCQUFpQjtJQUMxQjdCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEJDLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDcEJnQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0VBQ3RCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQzlELE9BQUEsQ0FBQXdELHlCQUFBLEdBQUFBLHlCQUFBO0FBRUssSUFBTUosNkJBQTZCLEdBQUcsU0FBaENBLDZCQUE2QkEsQ0FBSTFELEtBQWEsRUFBRUQsS0FBYSxFQUFLO0VBQzdFLElBQUlrRixNQUFNO0VBRVYsSUFBSWpGLEtBQUssS0FBSyxJQUFJLElBQUlBLEtBQUssS0FBS2lDLFNBQVMsRUFBRTtJQUN6Q2dELE1BQU0sR0FBR2pGLEtBQUssQ0FBQ2tGLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDLFVBQUNGLE1BQU07TUFBQSxPQUFLQSxNQUFNLENBQUM1RSxRQUFRLEtBQUtOLEtBQUssQ0FBQ0ssRUFBRTtJQUFBLEVBQUMsQ0FBQyxDQUFDLENBQUM7RUFDNUU7RUFFQSxPQUFPSixLQUFLLEtBQUssSUFBSSxJQUFJaUYsTUFBTSxJQUFJakYsS0FBSyxDQUFDb0YsZUFBZSxLQUFLSCxNQUFNLENBQUM1RSxRQUFRO0FBQzlFLENBQUM7QUFBQ0MsT0FBQSxDQUFBb0QsNkJBQUEsR0FBQUEsNkJBQUE7QUFFSyxJQUFNRyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFJN0QsS0FBYSxFQUFFRCxLQUFhLEVBQUs7RUFDckUsSUFBSUMsS0FBSyxLQUFLaUMsU0FBUyxFQUFFO0VBQ3pCLE9BQ0VqQyxLQUFLLEtBQUssSUFBSSxJQUNkQSxLQUFLLENBQUNrRixPQUFPLENBQUNDLE1BQU0sQ0FBQyxVQUFDRixNQUFNO0lBQUEsT0FBS0EsTUFBTSxDQUFDNUUsUUFBUSxLQUFLTixLQUFLLENBQUNLLEVBQUU7RUFBQSxFQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXJFLENBQUM7QUFBQ0UsT0FBQSxDQUFBdUQscUJBQUEsR0FBQUEscUJBQUE7QUFFSyxJQUFNd0IsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FDbENqRSxjQUEyQixFQUMzQmtFLGFBQXNCLEVBQ3RCMUQsR0FBRyxFQUNIN0IsS0FBYSxFQUNiQyxLQUFhLEVBQ2I2QixPQUFRLEVBQ1JDLFVBQVcsRUFDUjtFQUNIO0VBQ0E7RUFDQSxJQUFJeUQsWUFBWSxHQUFHLENBQ2pCckUsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0lBQ0w0QixPQUFPLEVBQUV1QyxtQkFBYTtJQUN0QnJDLFFBQVEsRUFBRW1DLGFBQWEsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekNsQyxVQUFVLEVBQUVrQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7SUFDbkRsQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0VBQ3RCLENBQUMsQ0FBQyxFQUNGbEQsZ0JBQUMsQ0FBQ0csSUFBSSxDQUFDO0lBQ0w0QixPQUFPLEVBQUV3QyxxQkFBZTtJQUN4QnRDLFFBQVEsRUFBRW1DLGFBQWEsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekNsQyxVQUFVLEVBQUVrQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDOUNsQixXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO0VBQ3RCLENBQUMsQ0FBQyxDQUNIO0VBRUQsSUFBSXNCLFNBQVMsR0FBRyxLQUFLO0VBQ3JCLElBQUloQyw2QkFBNkIsQ0FBQzFELEtBQUssRUFBRUQsS0FBSyxDQUFDLElBQUksQ0FBQ3VGLGFBQWEsRUFBRTtJQUNqRUMsWUFBWSxDQUFDNUIsT0FBTyxDQUFDQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7RUFDNUMsQ0FBQyxNQUFNLElBQUlDLHFCQUFxQixDQUFDN0QsS0FBSyxFQUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDdUYsYUFBYSxFQUFFO0lBQ2hFQyxZQUFZLENBQUM1QixPQUFPLENBQUNHLHlCQUF5QixDQUFDLENBQUMsQ0FBQztFQUNuRCxDQUFDLE1BQU07SUFDTDRCLFNBQVMsR0FBRyxJQUFJO0lBQ2hCSCxZQUFZLENBQUM1QixPQUFPLENBQUNJLGtCQUFrQixDQUFDdUIsYUFBYSxFQUFFSSxTQUFTLENBQUMsQ0FBQztFQUNwRTtFQUVBSCxZQUFZLENBQUNJLE9BQU8sQ0FBQyxVQUFDdEUsSUFBSSxFQUFFdUUsS0FBSyxFQUFLO0lBQ3BDLElBQUkzRSxlQUFvQixHQUFHQyxnQkFBQyxDQUFDQyxNQUFNLENBQUNDLGNBQWMsRUFBRTtNQUNsREMsSUFBSSxFQUFFQSxJQUFJO01BQ1ZHLFdBQVcsRUFBRTtJQUNmLENBQUMsQ0FBQztJQUNGUCxlQUFlLENBQUNzQyxXQUFXLENBQUNoRCx5QkFBeUIsQ0FBQ1IsS0FBSyxDQUFDLENBQUM7SUFDN0RrQixlQUFlLENBQUMsb0JBQW9CLENBQUMsR0FBRzJFLEtBQUs7SUFDN0MzRSxlQUFlLENBQUMsc0JBQXNCLENBQUMsR0FBRyxJQUFJO0lBQzlDQSxlQUFlLENBQUMsaUJBQWlCLENBQUMsR0FBR3lFLFNBQVMsR0FBRyxLQUFLLEdBQUdKLGFBQWE7SUFDdEVyRSxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUd5RSxTQUFTO0lBQzFDekUsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEdBQUdsQixLQUFLLENBQUNLLEVBQUU7SUFDN0NhLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxVQUFVO0lBQzVDLElBQUlZLE9BQU8sRUFBRVosZUFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLGlCQUFpQjtJQUNoRWEsVUFBVSxDQUFDYSxRQUFRLENBQUMxQixlQUFlLENBQUM7RUFDdEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDWCxPQUFBLENBQUErRSx1QkFBQSxHQUFBQSx1QkFBQTtBQUVLLElBQU1RLDBCQUEwQixHQUFHLFNBQTdCQSwwQkFBMEJBLENBQ3JDekUsY0FBMkIsRUFDM0JrRSxhQUFzQixFQUN0QjFELEdBQUcsRUFDSDdCLEtBQWEsRUFDYkMsS0FBYSxFQUNiNkIsT0FBUSxFQUNSQyxVQUFXLEVBQ1I7RUFDSDtFQUNBO0VBQ0EsSUFBSWdFLGVBQWUsR0FBRyxDQUNwQjVFLGdCQUFDLENBQUNHLElBQUksQ0FBQztJQUNMNEIsT0FBTyxFQUFFOEMsbUJBQWE7SUFDdEI1QyxRQUFRLEVBQUVtQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDbEMsVUFBVSxFQUFFa0MsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO0lBQ25EbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtFQUN0QixDQUFDLENBQUMsRUFDRmxELGdCQUFDLENBQUNHLElBQUksQ0FBQztJQUNMNEIsT0FBTyxFQUFFK0Msd0JBQWtCO0lBQzNCN0MsUUFBUSxFQUFFbUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6Q2xDLFVBQVUsRUFBRWtDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUM5Q2xCLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7RUFDdEIsQ0FBQyxDQUFDLENBQ0g7RUFFRCxJQUFJViw2QkFBNkIsQ0FBQzFELEtBQUssRUFBRUQsS0FBSyxDQUFDLElBQUksQ0FBQ3VGLGFBQWEsRUFBRTtJQUNqRVEsZUFBZSxDQUFDbkMsT0FBTyxDQUFDQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7RUFDL0MsQ0FBQyxNQUFNLElBQUlDLHFCQUFxQixDQUFDN0QsS0FBSyxFQUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDdUYsYUFBYSxFQUFFO0lBQ2hFUSxlQUFlLENBQUNuQyxPQUFPLENBQUNHLHlCQUF5QixDQUFDLENBQUMsQ0FBQztFQUN0RCxDQUFDLE1BQU07SUFDTGdDLGVBQWUsQ0FBQ25DLE9BQU8sQ0FBQ0ksa0JBQWtCLENBQUN1QixhQUFhLENBQUMsQ0FBQztFQUM1RDtFQUVBUSxlQUFlLENBQUNILE9BQU8sQ0FBQyxVQUFDdEUsSUFBSSxFQUFFdUUsS0FBSyxFQUFLO0lBQ3ZDLElBQUkzRSxlQUFvQixHQUFHQyxnQkFBQyxDQUFDQyxNQUFNLENBQUNDLGNBQWMsRUFBRTtNQUNsREMsSUFBSSxFQUFFQSxJQUFJO01BQ1ZHLFdBQVcsRUFBRTtJQUNmLENBQUMsQ0FBQztJQUNGUCxlQUFlLENBQUNzQyxXQUFXLENBQUNoRCx5QkFBeUIsQ0FBQ1IsS0FBSyxDQUFDLENBQUM7SUFDN0RrQixlQUFlLENBQUMsb0JBQW9CLENBQUMsR0FBRzJFLEtBQUs7SUFDN0MzRSxlQUFlLENBQUMsc0JBQXNCLENBQUMsR0FBRyxJQUFJO0lBQzlDQSxlQUFlLENBQUMsaUJBQWlCLENBQUMsR0FBR3FFLGFBQWE7SUFDbERyRSxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUcsS0FBSztJQUN0Q0EsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEdBQUdsQixLQUFLLENBQUNLLEVBQUU7SUFDN0NhLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxhQUFhO0lBQy9DLElBQUlZLE9BQU8sRUFBRVosZUFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLG9CQUFvQjtJQUNuRWEsVUFBVSxDQUFDYSxRQUFRLENBQUMxQixlQUFlLENBQUM7RUFDdEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDWCxPQUFBLENBQUF1RiwwQkFBQSxHQUFBQSwwQkFBQTtBQUVLLElBQU1JLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQzlCN0UsY0FBMkIsRUFDM0JwQixLQUFhLEVBQ2JELEtBQWEsRUFDYjZCLEdBQUcsRUFDSEMsT0FBTyxFQUNQQyxVQUFXLEVBQ1I7RUFDSCxJQUFJb0UsZUFBZSxHQUFHbEcsS0FBSyxDQUFDbUcsU0FBUyxDQUFDdkUsR0FBRyxDQUFDLFVBQUN3RSxDQUFDO0lBQUEsT0FBS0EsQ0FBQyxDQUFDL0YsUUFBUTtFQUFBLEVBQUM7RUFDNUQsSUFDRUwsS0FBSyxLQUFLLElBQUksSUFDZEEsS0FBSyxDQUFDbUcsU0FBUyxDQUFDaEcsTUFBTSxLQUFLLENBQUMsSUFDNUIrRixlQUFlLENBQUNHLFFBQVEsQ0FBQ3RHLEtBQUssQ0FBQ0ssRUFBRSxDQUFDLEVBQ2xDO0lBQ0FpRix1QkFBdUIsQ0FDckJqRSxjQUFjLEVBQ2RvQyxnQkFBZ0IsQ0FBQ3pELEtBQUssRUFBRUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUN2QzRCLEdBQUcsRUFDSDdCLEtBQUssRUFDTEMsS0FBSyxFQUNMNkIsT0FBTyxFQUNQQyxVQUNGLENBQUM7RUFDSDtBQUNGLENBQUM7QUFBQ3hCLE9BQUEsQ0FBQTJGLG1CQUFBLEdBQUFBLG1CQUFBO0FBRUssSUFBTUssWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUlDLEdBQVEsRUFBRXhHLEtBQWEsRUFBSztFQUN2RCxJQUFJd0csR0FBRyxLQUFLLElBQUksRUFBRTtJQUNoQixvSEFBQTlGLE1BQUEsQ0FFNERWLEtBQUssQ0FBQ0ssRUFBRSwwQ0FBQUssTUFBQSxDQUN4QytGLGtCQUFTLGlKQUFBL0YsTUFBQSxDQUdxQlYsS0FBSyxDQUFDVyxLQUFLLENBQUNDLElBQUk7RUFPNUUsQ0FBQyxNQUFNO0lBQ0wsb0hBQUFGLE1BQUEsQ0FFNEQ4RixHQUFHLENBQUNuRyxFQUFFLDBDQUFBSyxNQUFBLENBQ3RDK0Ysa0JBQVMsaUpBQUEvRixNQUFBLENBSW5CVixLQUFLLENBQUNXLEtBQUssQ0FBQ0MsSUFBSSw2SUFBQUYsTUFBQSxDQUd5QmdHLGFBQUksQ0FBQ0MsQ0FBQywyQkFFN0MsQ0FBQyxrREFBQWpHLE1BQUEsQ0FFQywyQkFBMkIsR0FBRzhGLEdBQUcsQ0FBQ0ksUUFBUSxnSEFBQWxHLE1BQUEsQ0FHbENnRyxhQUFJLENBQUNDLENBQUMsK0JBQUFqRyxNQUFBLENBQ3dCOEYsR0FBRyxDQUFDSSxRQUFRLENBQzVDLENBQUMsNFZBQUFsRyxNQUFBLENBU2tDZ0csYUFBSSxDQUFDQyxDQUFDLDZCQUU3QyxDQUFDLHlOQUFBakcsTUFBQSxDQUlzQ2dHLGFBQUksQ0FBQ0MsQ0FBQyw0QkFFN0MsQ0FBQztFQU8zQjtBQUNGLENBQUM7QUFBQ3BHLE9BQUEsQ0FBQWdHLFlBQUEsR0FBQUEsWUFBQTtBQUVGLElBQU1oRixPQUFPLEdBQUcsU0FBVkEsT0FBT0EsQ0FBSXZCLEtBQWEsRUFBRTZHLE9BQWdCLEVBQUVwRSxRQUFpQixFQUFLO0VBQ3RFLElBQU1xRSxNQUFNLEdBQUc5RyxLQUFLLENBQUNXLEtBQUssQ0FBQytCLElBQUksS0FBSyxrQ0FBa0M7RUFDdEUsSUFBTUEsSUFBSSxHQUNSMUMsS0FBSyxDQUFDMEIsVUFBVSxJQUFJb0YsTUFBTSxHQUFHOUcsS0FBSyxDQUFDVyxLQUFLLENBQUMrQixJQUFJLEdBQUcsaUJBQWlCO0VBQ25FLElBQUlxRSxZQUFZLEdBQUd0RSxRQUFRLEdBQUdBLFFBQVEsR0FBR3pDLEtBQUssQ0FBQ1csS0FBSyxDQUFDRyxXQUFXO0VBQ2hFLElBQUlnRyxNQUFNLElBQUksQ0FBQzlHLEtBQUssQ0FBQzBCLFVBQVUsRUFBRTtJQUMvQnFGLFlBQVksU0FBQXJHLE1BQUEsQ0FBU2dHLGFBQUksQ0FBQ0MsQ0FBQyxDQUN6QixtRUFDRixDQUFDLE1BQUc7RUFDTjtFQUNBLE9BQU8sSUFBQWhFLDZCQUFrQixFQUN2QkQsSUFBSSxFQUNKMUMsS0FBSyxDQUFDWSxJQUFJLEVBQ1ZtRyxZQUFZLEVBQ1pGLE9BQU8sRUFDUCxDQUFDQSxPQUFPLEVBQ1IsS0FBSyxFQUNMN0csS0FBSyxDQUFDMkIsV0FDUixDQUFDO0FBQ0gsQ0FBQztBQUVNLElBQU1xRixPQUFPLEdBQUcsU0FBVkEsT0FBT0EsQ0FBSUMsT0FBTyxFQUFFSixPQUFPLEVBQUU3RyxLQUFLLEVBQW9CO0VBQUEsSUFBbEJ5QyxRQUFRLEdBQUFSLFNBQUEsQ0FBQTdCLE1BQUEsUUFBQTZCLFNBQUEsUUFBQUMsU0FBQSxHQUFBRCxTQUFBLE1BQUcsRUFBRTtFQUM1RGdGLE9BQU8sQ0FBQ0QsT0FBTyxDQUFDekYsT0FBTyxDQUFDdkIsS0FBSyxFQUFFNkcsT0FBTyxFQUFFcEUsUUFBUSxDQUFDLENBQUM7QUFDcEQsQ0FBQzs7QUFFRDtBQUNBO0FBQUFsQyxPQUFBLENBQUF5RyxPQUFBLEdBQUFBLE9BQUE7QUFDTyxJQUFNRSx5QkFBeUIsR0FBRyxTQUE1QkEseUJBQXlCQSxDQUNwQ2xGLGNBQXNCLEVBQ3RCbUYsZ0JBQXdCLEVBRXJCO0VBQUEsSUFESEMsa0JBQTJCLEdBQUFuRixTQUFBLENBQUE3QixNQUFBLFFBQUE2QixTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFHLEtBQUs7RUFFbkMsSUFBSW9GLFVBQVUsR0FBRyxHQUFHO0VBRXBCLElBQUlGLGdCQUFnQixHQUFHLENBQUMsRUFBRTtJQUN4QixRQUFRbkYsY0FBYztNQUNwQixLQUFLLEtBQUs7UUFDUnFGLFVBQVUsR0FBR0YsZ0JBQWdCLENBQUNHLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDeEM7TUFDRixLQUFLLE9BQU87UUFDVkQsVUFBVSxHQUFHLENBQUNGLGdCQUFnQixHQUFHLE9BQU8sRUFBRUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNwRDtNQUNGLEtBQUssT0FBTztRQUNWRCxVQUFVLEdBQUcsQ0FBQ0YsZ0JBQWdCLEdBQUcsT0FBTyxFQUFFRyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3BEO0lBQ0o7RUFDRjtFQUNBLElBQUlGLGtCQUFrQixFQUFFO0lBQ3RCLE9BQU9HLHNCQUFzQixDQUFDQyxVQUFVLENBQUNILFVBQVUsQ0FBQyxDQUFDLENBQUNJLGNBQWMsQ0FBQyxDQUFDO0VBQ3hFLENBQUMsTUFBTTtJQUNMLE9BQU9DLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxVQUFVLENBQUNILFVBQVUsQ0FBQyxDQUFDLENBQUNJLGNBQWMsQ0FBQyxDQUFDO0VBQzVEO0FBQ0YsQ0FBQztBQUFDbEgsT0FBQSxDQUFBMkcseUJBQUEsR0FBQUEseUJBQUE7QUFFRixJQUFNSyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFJSyxNQUFNLEVBQUs7RUFDekM7RUFDQTtFQUNBOztFQUVBLElBQUlBLE1BQU0sR0FBRyxJQUFJLEVBQUU7SUFDakIsT0FBT0YsSUFBSSxDQUFDQyxLQUFLLENBQUNDLE1BQU0sQ0FBQztFQUMzQjtFQUVBLElBQU1DLGdCQUFnQixHQUFHSCxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsTUFBTSxHQUFHLElBQUksQ0FBQztFQUNsRCxJQUFNRSxZQUFZLEdBQUdELGdCQUFnQixHQUFHLElBQUk7RUFFNUMsT0FBT0MsWUFBWTtBQUNyQixDQUFDOztBQUVEO0FBQ0E7QUFDQTs7QUFFTyxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJL0YsY0FBYyxFQUFLO0VBQ25ELE9BQU8wRSxhQUFJLENBQUNDLENBQUMsZ0RBQUFqRyxNQUFBLENBRVRzQixjQUFjLENBQUNzRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHdEUsY0FBYyxDQUV6RCxDQUFDO0FBQ0gsQ0FBQztBQUFDekIsT0FBQSxDQUFBd0gsaUJBQUEsR0FBQUEsaUJBQUE7QUFFSyxJQUFNakYsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FDN0JqQixHQUFHLEVBQ0g3QixLQUFLLEVBQ0xrQixlQUFlLEVBQ2ZpQixXQUFXLEVBQ1I7RUFDSCxJQUFJNkYsY0FBYyxHQUFHLEtBQUs7RUFFMUJuRyxHQUFHLENBQUNvRyxFQUFFLENBQUMsV0FBVyxFQUFFLFlBQVk7SUFDOUJwRyxHQUFHLENBQUNxRyxVQUFVLENBQUMsQ0FBQztFQUNsQixDQUFDLENBQUM7RUFFRmhILGVBQWUsQ0FBQytHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBTTtJQUNyQztJQUNBRCxjQUFjLEdBQUcsS0FBSztFQUN4QixDQUFDLENBQUM7RUFFRjlHLGVBQWUsQ0FBQytHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBTTtJQUNwQztJQUNBRCxjQUFjLEdBQUcsSUFBSTtFQUN2QixDQUFDLENBQUM7RUFFRjlHLGVBQWUsQ0FBQytHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBTTtJQUNwQyxJQUFJRCxjQUFjLEVBQUU7SUFFcEJoQixPQUFPLENBQUM5RixlQUFlLEVBQUUsSUFBSSxFQUFFbEIsS0FBSyxDQUFDO0lBQ3JDZ0ksY0FBYyxHQUFHLElBQUk7RUFDdkIsQ0FBQyxDQUFDO0VBRUY5RyxlQUFlLENBQUMrRyxFQUFFLENBQUMsVUFBVSxFQUFFLFlBQU07SUFDbkMsSUFBSS9HLGVBQWUsQ0FBQ2lILFdBQVcsQ0FBQyxDQUFDLEVBQUU7SUFFbkNuQixPQUFPLENBQUM5RixlQUFlLEVBQUUsS0FBSyxFQUFFbEIsS0FBSyxDQUFDO0lBQ3RDZ0ksY0FBYyxHQUFHLEtBQUs7RUFDeEIsQ0FBQyxDQUFDO0VBRUYsSUFBSSxPQUFPN0YsV0FBVyxLQUFLLFVBQVUsRUFBRTtJQUNyQ2pCLGVBQWUsQ0FBQytHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsWUFBTTtNQUNoQzlGLFdBQVcsQ0FBQ2pCLGVBQWUsQ0FBQ3NCLGVBQWUsQ0FBQztNQUU1QyxJQUFJM0IsY0FBYyxDQUFDYixLQUFLLENBQUMsRUFBRTtRQUN6QixJQUFBb0kseUJBQWtCLEVBQUMsNEJBQTRCLEVBQUUsS0FBSyxFQUFFO1VBQ3REOUgsUUFBUSxFQUFFTixLQUFLLENBQUNLLEVBQUU7VUFDbEJnSSxVQUFVLEVBQUVySSxLQUFLLENBQUNZO1FBQ3BCLENBQUMsQ0FBQztNQUNKO0lBQ0YsQ0FBQyxDQUFDO0VBQ0o7QUFDRixDQUFDO0FBQUNMLE9BQUEsQ0FBQXVDLGtCQUFBLEdBQUFBLGtCQUFBO0FBRUssSUFBTUQsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSTdDLEtBQUssRUFBRStCLFVBQVUsRUFBRUMsY0FBYyxFQUFLO0VBQ3RFLElBQUlzRyxPQUFPLCtNQUFBNUgsTUFBQSxDQUtLVixLQUFLLENBQUNZLElBQUksa0ZBQUFGLE1BQUEsQ0FHVlYsS0FBSyxDQUFDVyxLQUFLLENBQUNHLFdBQVcscVBBQUFKLE1BQUEsQ0FRVDZILG9CQUFjLGlNQUFBN0gsTUFBQSxDQUl4QjhILFdBQVcsQ0FBQ3hJLEtBQUssQ0FBQ1csS0FBSyxDQUFDSSxlQUFlLEVBQUVpQixjQUFjLENBQUMsNEdBQUF0QixNQUFBLENBRUZnRyxhQUFJLENBQUNDLENBQUMsQ0FDOUQsaUJBQ0YsQ0FBQyx5RkFLZDtFQUVINUUsVUFBVSxDQUFDMEcsU0FBUyxDQUFDSCxPQUFPLEVBQUU7SUFDNUJJLFNBQVMsRUFBRSxvQkFBb0I7SUFDL0JDLFFBQVEsRUFBRSxPQUFPO0lBQ2pCQyxRQUFRLEVBQUUsT0FBTztJQUNqQkMsV0FBVyxFQUFFO0VBQ2YsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDdEksT0FBQSxDQUFBc0MsaUJBQUEsR0FBQUEsaUJBQUE7QUFFSyxJQUFNMkYsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQ3RCckIsZ0JBQXdCLEVBQ3hCMkIsWUFBb0IsRUFFakI7RUFBQSxJQURIQyxPQUFnQixHQUFBOUcsU0FBQSxDQUFBN0IsTUFBQSxRQUFBNkIsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxLQUFLO0VBRXhCLElBQUlrRixnQkFBZ0IsR0FBRyxDQUFDLEVBQUU7SUFDeEIsT0FDRUQseUJBQXlCLENBQUM0QixZQUFZLEVBQUUzQixnQkFBZ0IsRUFBRTRCLE9BQU8sQ0FBQyxHQUNsRSxHQUFHLEdBQ0hoQixpQkFBaUIsQ0FBQ2UsWUFBWSxDQUFDO0VBRW5DO0VBQ0EsT0FBT3BDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDO0FBQ3JELENBQUM7QUFBQ3BHLE9BQUEsQ0FBQWlJLFdBQUEsR0FBQUEsV0FBQTtBQUVLLElBQU1RLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUluSCxHQUFHLEVBQUVFLFVBQVUsRUFBSztFQUNuRCxJQUFJRixHQUFHLENBQUNvSCxRQUFRLENBQUNsSCxVQUFVLENBQUMsRUFBRTtJQUM1QkYsR0FBRyxDQUFDcUgsV0FBVyxDQUFDbkgsVUFBVSxDQUFDO0VBQzdCO0FBQ0YsQ0FBQztBQUFDeEIsT0FBQSxDQUFBeUksZ0JBQUEsR0FBQUEsZ0JBQUE7QUFFSyxJQUFNRyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUl0SCxHQUFHLEVBQUVFLFVBQVUsRUFBSztFQUNoRCxJQUFJLENBQUNGLEdBQUcsQ0FBQ29ILFFBQVEsQ0FBQ2xILFVBQVUsQ0FBQyxFQUFFO0lBQzdCRixHQUFHLENBQUNlLFFBQVEsQ0FBQ2IsVUFBVSxDQUFDO0VBQzFCLENBQUMsTUFBTTtJQUNMaUgsZ0JBQWdCLENBQUNuSCxHQUFHLEVBQUVFLFVBQVUsQ0FBQztJQUNqQ29ILGFBQWEsQ0FBQ3RILEdBQUcsRUFBRUUsVUFBVSxDQUFDO0VBQ2hDO0FBQ0YsQ0FBQztBQUFDeEIsT0FBQSxDQUFBNEksYUFBQSxHQUFBQSxhQUFBO0FBRUssSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlwSixLQUFhLEVBQUs7RUFDNUMsT0FBT0EsS0FBSyxDQUFDVyxLQUFLLENBQUMrQixJQUFJLEtBQUssa0NBQWtDO0FBQ2hFLENBQUM7QUFBQ25DLE9BQUEsQ0FBQTZJLFdBQUEsR0FBQUEsV0FBQTtBQUVLLElBQU12SSxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUliLEtBQWEsRUFBSztFQUMvQyxPQUFPcUosYUFBYSxDQUFDckosS0FBSyxDQUFDVyxLQUFLLENBQUMrQixJQUFJLENBQUM7QUFDeEMsQ0FBQztBQUFDbkMsT0FBQSxDQUFBTSxjQUFBLEdBQUFBLGNBQUE7QUFFSyxJQUFNd0ksYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJM0csSUFBWSxFQUFLO0VBQzdDLE9BQU9BLElBQUksS0FBSyxpQkFBaUI7QUFDbkMsQ0FBQztBQUFDbkMsT0FBQSxDQUFBOEksYUFBQSxHQUFBQSxhQUFBIn0=
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var packageJsonVersion = "1.2.418-alpha.10";
3
+ var packageJsonVersion = "1.2.418-alpha.11";
4
4
  if (typeof packageJsonVersion === 'string') {
5
5
  // eslint-disable-next-line no-console
6
6
  console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kando-env/kando-ui",
3
- "version": "1.2.418-alpha.10",
3
+ "version": "1.2.418-alpha.11",
4
4
  "main": "lib/index.js",
5
5
  "author": "Nadav(Private) <nadavk72@gmail.com>",
6
6
  "scripts": {