single-scripture-rcl 3.4.16 → 3.4.17

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.
@@ -120,7 +120,7 @@ export function useScriptureSettings(_ref) {
120
120
  useUserLocalStorage = _ref.useUserLocalStorage,
121
121
  _ref$wholeBook = _ref.wholeBook,
122
122
  wholeBook = _ref$wholeBook === void 0 ? false : _ref$wholeBook;
123
- var bookId = reference === null || reference === void 0 ? void 0 : reference.projectId;
123
+ var bookId = reference === null || reference === void 0 ? void 0 : reference.bookId;
124
124
  var isNewTestament = isNT(bookId);
125
125
  var scriptureDefaultSettings = getScriptureObject({
126
126
  disableWordPopover: disableWordPopover,
@@ -344,4 +344,4 @@ export function useScriptureSettings(_ref) {
344
344
  };
345
345
  }
346
346
  export default useScriptureSettings;
347
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsImNvcmUiLCJpc0VxdWFsIiwiS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSIsIlNjcmlwdHVyZVZlcnNpb25IaXN0b3J5IiwiSU5WQUxJRF9SRVBPX1VSTF9FUlJPUiIsIklOVkFMSURfVVJMIiwiTUFOSUZFU1RfSU5WQUxJRF9TSE9SVF9FUlJPUiIsIk5UX09SSUdfTEFOR19CSUJMRSIsIk5UX09SSUdfTEFORyIsIk9SSUdJTkFMX1NPVVJDRSIsIk9UX09SSUdfTEFOR19CSUJMRSIsIk9UX09SSUdfTEFORyIsIlJFUE9fTk9UX0ZPVU5EX0VSUk9SIiwiUkVQT19OT1RfU0NSSVBUVVJFX0VSUk9SIiwic2V0TG9jYWxTdG9yYWdlVmFsdWUiLCJwYXJzZVJlc291cmNlTWFuaWZlc3QiLCJ2YWxpZGF0ZURjc1VybCIsImdldFJlc291cmNlTGluayIsImdldFNjcmlwdHVyZU9iamVjdCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJ1c2VTY3JpcHR1cmVSZXNvdXJjZXMiLCJLRVlfU0VUVElOR1NfQkFTRSIsIktFWV9UQVJHRVRfQkFTRSIsImZpeFNjcmlwdHVyZVNldHRpbmdzIiwidmVyc2lvbkhpc3QiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImxhbmd1YWdlSWQiLCJjYXJkTnVtIiwib3duZXIiLCJyZXNvdXJjZUlkIiwibmV3U2NyaXB0dXJlU2V0dGluZ3MiLCJfb2JqZWN0U3ByZWFkIiwicmVzb3VyY2VMaW5rIiwiYWRkSXRlbVRvSGlzdG9yeSIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJtb2RpZmllZCIsImkiLCJsZW5ndGgiLCJpdGVtIiwiaiIsIm1hdGNoX2l0ZW0iLCJtYXRjaF9yZXNvdXJjZUlkIiwicmVmIiwic2VydmVyIiwic3BsaWNlIiwic2F2ZUhpc3RvcnkiLCJpc1NjcmlwdHVyZVJlc291cmNlIiwic3ViamVjdCIsIkJpYmxlUmVzb3VyY2VzIiwiaXNTY3JpcHR1cmUiLCJpbmNsdWRlcyIsInVzZVNjcmlwdHVyZVNldHRpbmdzIiwiX3JlZiIsImFwcFJlZiIsImRpc2FibGVXb3JkUG9wb3ZlciIsImdyZWVrUmVwb1VybCIsImhlYnJld1JlcG9VcmwiLCJodHRwQ29uZmlnIiwiaXNOVCIsIm9yaWdpbmFsTGFuZ3VhZ2VPd25lciIsInJlZmVyZW5jZSIsIl9yZWYkcmVhZHlGb3JGZXRjaCIsInJlYWR5Rm9yRmV0Y2giLCJzZXRVcmxFcnJvciIsInRpdGxlIiwidXNlVXNlckxvY2FsU3RvcmFnZSIsIl9yZWYkd2hvbGVCb29rIiwid2hvbGVCb29rIiwiYm9va0lkIiwicHJvamVjdElkIiwiaXNOZXdUZXN0YW1lbnQiLCJzY3JpcHR1cmVEZWZhdWx0U2V0dGluZ3MiLCJfdXNlVXNlckxvY2FsU3RvcmFnZSIsIl91c2VVc2VyTG9jYWxTdG9yYWdlMiIsIl9zbGljZWRUb0FycmF5IiwidmVyc2lvbkhpc3RvcnkiLCJzYXZlVmVyc2lvbkhpc3QiLCJyZWZyZXNoVmVyc2lvbkhpc3QiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsIl91c2VVc2VyTG9jYWxTdG9yYWdlMyIsIl91c2VVc2VyTG9jYWxTdG9yYWdlNCIsInNldFNjcmlwdHVyZVNldHRpbmdzIiwiY3VycmVudFRhcmdldCIsIl91c2VVc2VyTG9jYWxTdG9yYWdlNSIsIl91c2VVc2VyTG9jYWxTdG9yYWdlNiIsInRhcmdldCIsInNldFRhcmdldCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJjbGVhblVwIiwic2V0Q2xlYW5VcCIsIm9sZERlZmF1bHRTZXR0aW5ncyIsInJlbW92ZUl0ZW0iLCJvcmlnaW5hbFJlcG9VcmwiLCJzY3JpcHR1cmVDb25maWciLCJjdXJyZW50TGFuZ3VhZ2VJZCIsImN1cnJlbnRPd25lciIsImNsZWFuUmVzb3VyY2VMaW5rIiwiX3Jlc291cmNlTGlua18iLCJyZXNvdXJjZUxpbmtfIiwicmVzb3VyY2VMaW5rcyIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwic2V0U2NyaXB0dXJlIiwidmFsaWRhdGlvbkNCIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwidXJsIiwibmV3VXJsIiwiX25ld1VybCIsIl9uZXdVcmwyIiwicGFydHMiLCJfcGFydHMkMCRzcGxpdCIsIl9wYXJ0cyQwJHNwbGl0MiIsImhvc3RuYW1lIiwiY29uY2F0IiwiVVJMIiwiX3VudXNlZCIsImNvbnNvbGUiLCJsb2ciLCJyZW1vdmVVcmwiLCJzZXJ2ZXJfIiwicG9ydCIsInVybF8iLCJyZXNvdXJjZUZyb21SZXNvdXJjZUxpbmsiLCJjb25maWciLCJjYWNoZSIsIm1heEFnZSIsInRoZW4iLCJyZXNvdXJjZSIsImVycm9yIiwibmV3U2NyaXB0dXJlIiwiX3BhcnNlUmVzb3VyY2VNYW5pZmVzIiwidmVyc2lvbiIsIndhcm4iLCJ1c2VybmFtZSIsIl92YWxpZGF0ZURjc1VybCIsInZhbGlkVXJsIiwidmFsaWRSZXBvUGF0aCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVTZXR0aW5ncy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ0ByZWFjdC1ob29rei9kZWVwLWVxdWFsJ1xuaW1wb3J0IHsgS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSwgU2NyaXB0dXJlVmVyc2lvbkhpc3RvcnkgfSBmcm9tICcuLi91dGlscy9TY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSdcbmltcG9ydCB7XG4gIElOVkFMSURfUkVQT19VUkxfRVJST1IsXG4gIElOVkFMSURfVVJMLFxuICBNQU5JRkVTVF9JTlZBTElEX1NIT1JUX0VSUk9SLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE5UX09SSUdfTEFORyxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIE9UX09SSUdfTEFORyxcbiAgUkVQT19OT1RfRk9VTkRfRVJST1IsXG4gIFJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUixcbiAgc2V0TG9jYWxTdG9yYWdlVmFsdWUsXG4gIHBhcnNlUmVzb3VyY2VNYW5pZmVzdCxcbiAgdmFsaWRhdGVEY3NVcmwsXG59IGZyb20gJy4uJ1xuaW1wb3J0IHtcbiAgZ2V0UmVzb3VyY2VMaW5rLFxuICBnZXRTY3JpcHR1cmVPYmplY3QsXG4gIGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MsXG59IGZyb20gJy4uL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHVzZVNjcmlwdHVyZVJlc291cmNlcyBmcm9tICcuL3VzZVNjcmlwdHVyZVJlc291cmNlcydcblxuY29uc3QgS0VZX1NFVFRJTkdTX0JBU0UgPSAnc2NyaXB0dXJlUGFuZUNvbmZpZ18nXG5jb25zdCBLRVlfVEFSR0VUX0JBU0UgPSAnc2NyaXB0dXJlUGFuZVRhcmdldF8nXG5cbmZ1bmN0aW9uIGZpeFNjcmlwdHVyZVNldHRpbmdzKHZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpIHtcbiAgLy8gY2xlYW4gdXAgaGFyZC1jb2RlZCBvcmlnaW5hbCBzb3VyY2VzXG4gIGlmICgoc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAoc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSkge1xuICAgIGlmICgoc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCAhPT0gTlRfT1JJR19MQU5HKSAmJiAoc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCAhPT0gT1RfT1JJR19MQU5HKSkgeyAvLyBpZiB0aGlzIGlzIHRyYWNrIHdpdGggY3VycmVudCBzZWxlY3RlZCBsYW5ndWFnZSBhbmQgdGVzdGFtZW50IG9mIGJvb2tcbiAgICAgIGNvbnN0IG5ld1NjcmlwdHVyZVNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVTZXR0aW5ncyB9XG4gICAgICBuZXdTY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID0gbGFuZ3VhZ2VJZFxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IE9SSUdJTkFMX1NPVVJDRVxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBvd25lclxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKG5ld1NjcmlwdHVyZVNldHRpbmdzKVxuICAgICAgc2V0TG9jYWxTdG9yYWdlVmFsdWUoS0VZX1NFVFRJTkdTX0JBU0UgKyBjYXJkTnVtLCBuZXdTY3JpcHR1cmVTZXR0aW5ncylcbiAgICAgIHZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3U2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgfVxuICB9XG5cbiAgLy8gY2xlYW4gaGlzdG9yeSBvZiBvcmlnaW5hbCBzb3VyY2VzXG4gIGxldCBoaXN0b3J5ID0gdmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KCkgfHwgW11cbiAgbGV0IG1vZGlmaWVkID0gZmFsc2VcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGhpc3RvcnkubGVuZ3RoOyBpKyspIHsgLy8gc2VhcmNoIGZvciBvcmlnaW5hbCBzb3VyY2UgZHVwbGljYXRlcyBpbiBoaXN0b3J5XG4gICAgY29uc3QgaXRlbSA9IGhpc3RvcnlbaV1cbiAgICBjb25zdCByZXNvdXJjZUlkID0gaXRlbS5yZXNvdXJjZUlkXG5cbiAgICBpZiAoKHJlc291cmNlSWQgPT09IE5UX09SSUdfTEFOR19CSUJMRSkgfHwgKHJlc291cmNlSWQgPT09IE9UX09SSUdfTEFOR19CSUJMRSkgfHwgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkpIHtcbiAgICAgIGZvciAoIGxldCBqID0gaSArIDE7IGogPCBoaXN0b3J5Lmxlbmd0aDsgaisrKSB7IC8vIHNlYXJjaCByZXN0IG9mIGxpc3QgZm9yIGR1cGxpY2F0ZXMgb2YgaXRlbSBhdCBpXG4gICAgICAgIGNvbnN0IG1hdGNoX2l0ZW0gPSBoaXN0b3J5W2pdXG4gICAgICAgIGNvbnN0IG1hdGNoX3Jlc291cmNlSWQgPSBtYXRjaF9pdGVtLnJlc291cmNlSWRcblxuICAgICAgICBpZiAoKG1hdGNoX3Jlc291cmNlSWQgPT09IHJlc291cmNlSWQpKSB7XG4gICAgICAgICAgaWYgKChpdGVtLm93bmVyID09PSBtYXRjaF9pdGVtLm93bmVyKSAmJlxuICAgICAgICAgICAgKGl0ZW0ucmVmID09PSBtYXRjaF9pdGVtLnJlZikgJiZcbiAgICAgICAgICAgIChpdGVtLnNlcnZlciA9PT0gbWF0Y2hfaXRlbS5zZXJ2ZXIpICYmXG4gICAgICAgICAgICAoaXRlbS5yZXNvdXJjZUlkID09PSBtYXRjaF9pdGVtLnJlc291cmNlSWQpKSB7XG4gICAgICAgICAgICBoaXN0b3J5LnNwbGljZShqLCAxKSAvLyByZW1vdmUgZHVwbGljYXRlIGl0ZW1cbiAgICAgICAgICAgIG1vZGlmaWVkID0gdHJ1ZVxuICAgICAgICAgICAgai0tIC8vIGJhY2sgdXAgaW5kZXggc2luY2UgY29udGVudHMgc2hpZnRlZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChtb2RpZmllZCkge1xuICAgIHZlcnNpb25IaXN0LnNhdmVIaXN0b3J5KGhpc3RvcnkpXG4gIH1cbn1cblxuZnVuY3Rpb24gaXNTY3JpcHR1cmVSZXNvdXJjZShzdWJqZWN0KSB7XG4gIGNvbnN0IEJpYmxlUmVzb3VyY2VzID0gWyAnQmlibGUnLCAnQWxpZ25lZCBCaWJsZScsICdHcmVlayBOZXcgVGVzdGFtZW50JywgJ0hlYnJldyBPbGQgVGVzdGFtZW50JyBdXG4gIGNvbnN0IGlzU2NyaXB0dXJlID0gQmlibGVSZXNvdXJjZXMuaW5jbHVkZXMoc3ViamVjdClcbiAgcmV0dXJuIGlzU2NyaXB0dXJlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTY3JpcHR1cmVTZXR0aW5ncyh7XG4gIGFwcFJlZixcbiAgY2FyZE51bSxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBncmVla1JlcG9VcmwsXG4gIGhlYnJld1JlcG9VcmwsXG4gIGh0dHBDb25maWcsXG4gIGlzTlQsXG4gIGxhbmd1YWdlSWQsXG4gIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgb3duZXIsXG4gIHJlZmVyZW5jZSxcbiAgcmVzb3VyY2VJZCxcbiAgcmVzb3VyY2VMaW5rLFxuICByZWFkeUZvckZldGNoID0gZmFsc2UsXG4gIHNlcnZlcixcbiAgc2V0VXJsRXJyb3IsXG4gIHRpdGxlLFxuICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICB3aG9sZUJvb2sgPSBmYWxzZSxcbn0pIHtcbiAgY29uc3QgYm9va0lkID0gcmVmZXJlbmNlPy5wcm9qZWN0SWRcbiAgY29uc3QgaXNOZXdUZXN0YW1lbnQgPSBpc05UKGJvb2tJZClcbiAgY29uc3Qgc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzID0gZ2V0U2NyaXB0dXJlT2JqZWN0KHtcbiAgICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gICAgb3duZXIsXG4gICAgcmVmOiBhcHBSZWYsXG4gICAgcmVzb3VyY2VJZCxcbiAgICByZXNvdXJjZUxpbmssXG4gICAgc2VydmVyLFxuICAgIHRpdGxlLFxuICB9KVxuICBjb25zdCBbdmVyc2lvbkhpc3RvcnksIHNhdmVWZXJzaW9uSGlzdCwgcmVmcmVzaFZlcnNpb25IaXN0XSA9IHVzZVVzZXJMb2NhbFN0b3JhZ2UoS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSwgW10pXG4gIGNvbnN0IHNjcmlwdHVyZVZlcnNpb25IaXN0ID0gbmV3IFNjcmlwdHVyZVZlcnNpb25IaXN0b3J5KHZlcnNpb25IaXN0b3J5LCBzYXZlVmVyc2lvbkhpc3QsIHJlZnJlc2hWZXJzaW9uSGlzdClcblxuICBsZXQgW3NjcmlwdHVyZVNldHRpbmdzLCBzZXRTY3JpcHR1cmVTZXR0aW5nc10gPSB1c2VVc2VyTG9jYWxTdG9yYWdlKEtFWV9TRVRUSU5HU19CQVNFICsgY2FyZE51bSwgc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzKVxuICBjb25zdCBjdXJyZW50VGFyZ2V0ID0ge1xuICAgIHNlcnZlcixcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICB9XG4gIGNvbnN0IFt0YXJnZXQsIHNldFRhcmdldF0gPSB1c2VVc2VyTG9jYWxTdG9yYWdlKEtFWV9UQVJHRVRfQkFTRSArIGNhcmROdW0sIGN1cnJlbnRUYXJnZXQpXG4gIGNvbnN0IFtjbGVhblVwLCBzZXRDbGVhblVwXSA9IHVzZVN0YXRlKHRydWUpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobGFuZ3VhZ2VJZCAmJiBvd25lcikgeyAvLyBtYWtlIHN1cmUgd2UgaGF2ZSBsYW5ndWFnZUlkIGFuZCBvd25lciBzZWxlY3RlZCBmaXJzdFxuICAgICAgaWYgKGNsZWFuVXApIHsgLy8gZG8gaW5pdGlhbCBjbGVhbnVwXG4gICAgICAgIGZpeFNjcmlwdHVyZVNldHRpbmdzKHNjcmlwdHVyZVZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpXG4gICAgICAgIHNldENsZWFuVXAoZmFsc2UpXG4gICAgICB9XG5cbiAgICAgIGlmICghaXNFcXVhbChjdXJyZW50VGFyZ2V0LCB0YXJnZXQpKSB7IC8vIHdoZW4gdGFyZ2V0IGNoYW5nZXMsIHN3aXRjaCBiYWNrIHRvIGRlZmF1bHRzXG4gICAgICAgIGNvbnN0IG9sZERlZmF1bHRTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzLCAuLi50YXJnZXQgfVxuICAgICAgICBvbGREZWZhdWx0U2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKG9sZERlZmF1bHRTZXR0aW5ncylcbiAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QucmVtb3ZlSXRlbShvbGREZWZhdWx0U2V0dGluZ3MpIC8vIHJlbW92ZSBvbGQgZGVmYXVsdCBzZXR0aW5ncyBmcm9tIGhpc3RvcnlcbiAgICAgICAgZml4U2NyaXB0dXJlU2V0dGluZ3Moc2NyaXB0dXJlVmVyc2lvbkhpc3QsIHNjcmlwdHVyZVNldHRpbmdzLCBsYW5ndWFnZUlkLCBjYXJkTnVtLCBvd25lcilcblxuICAgICAgICBzZXRTY3JpcHR1cmVTZXR0aW5ncyhzY3JpcHR1cmVEZWZhdWx0U2V0dGluZ3MpXG4gICAgICAgIHNldFRhcmdldChjdXJyZW50VGFyZ2V0KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QuYWRkSXRlbVRvSGlzdG9yeShzY3JpcHR1cmVTZXR0aW5ncykgLy8gbWFrZSBzdXJlIGN1cnJlbnQgc2NyaXB0dXJlIHZlcnNpb24gcGVyc2lzdGVkIGluIGhpc3RvcnlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtsYW5ndWFnZUlkLCBvd25lciwgY2xlYW5VcF0pXG5cbiAgY29uc3Qgb3JpZ2luYWxSZXBvVXJsID0gaXNOZXdUZXN0YW1lbnQgPyBncmVla1JlcG9VcmwgOiBoZWJyZXdSZXBvVXJsXG4gIGNvbnN0IHNjcmlwdHVyZUNvbmZpZyA9IHVzZVNjcmlwdHVyZVJlc291cmNlcyh7XG4gICAgYXBwUmVmLFxuICAgIGN1cnJlbnRMYW5ndWFnZUlkOiBsYW5ndWFnZUlkLFxuICAgIGN1cnJlbnRPd25lcjogb3duZXIsXG4gICAgaHR0cENvbmZpZyxcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBvcmlnaW5hbFJlcG9VcmwsXG4gICAgcmVhZHlGb3JGZXRjaCxcbiAgICByZWZlcmVuY2UsXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MsXG4gICAgd2hvbGVCb29rLFxuICB9KVxuXG4gIC8qKlxuICAgKiBtYWtlIHN1cmUgdGhhdCBib29rSWQgb3IgcHJvamVjdElkIGFyZSBub3QgZW1iZWRkZWQgaW4gbGluay5cbiAgICogICAgRm9yIGV4YW1wbGUgaW4gYHJ1X2dsL3J1L3Jzb2IvbWFzdGVyL2hlYmAgdGhlIHByb2plY3RJZCBoZWIgaXMgaW4gdGhlIGxpbmsgYW5kIHdpbGwgb3ZlcnJpZGUgdGhlXG4gICAqICAgIHByb2plY3RJZCBpbiB0aGUgcmVmZXJlbmNlIHdoZW4gd2UgdHJ5IHRvIGZldGNoIGxhdGVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZXNvdXJjZUxpbmtcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIGNsZWFuZWQgdXAgcmVzb3VyY2UgbGlua1xuICAgKi9cbiAgZnVuY3Rpb24gY2xlYW5SZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rKSB7XG4gICAgbGV0IHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtcbiAgICBjb25zdCByZXNvdXJjZUxpbmtzID0gcmVzb3VyY2VMaW5rXz8uc3BsaXQoJy8nKVxuXG4gICAgaWYgKHJlc291cmNlTGlua3M/Lmxlbmd0aCA+IDQpIHsgLy8gaWYgdG9vIG1hbnkgZmllbGRzLCB0aGVuIHRyaW1cbiAgICAgIHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtzPy5zbGljZSgwLCA0KS5qb2luKCcvJylcbiAgICB9XG4gICAgcmV0dXJuIHJlc291cmNlTGlua19cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayB0byBlaXRoZXIgYWRkIG5ldyBzY3JpcHR1cmUgaXRlbSBvciBzZWxlY3QgZXhpc3RpbmcgaXRlbSBpbiBoaXN0b3J5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBpdGVtIC0gbmV3IGl0ZW0gdG8gYWRkIG9yIGV4aXN0aW5nIGl0ZW0gdG8gc2VsZWN0IGZyb20gaGlzdG9yeVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSB2YWxpZGF0aW9uQ0IgLSBjYWxsYmFjayBmdW5jdGlvbiB0byBwYXNzIGJhY2sgaWYgaXRlbSB1cmwgd2FzIHZhbGlkIG9yIG5vdFxuICAgKi9cbiAgY29uc3Qgc2V0U2NyaXB0dXJlID0gKGl0ZW0sIHZhbGlkYXRpb25DQiA9IG51bGwpID0+IHtcbiAgICBsZXQgdXJsXG4gICAgbGV0IG5ld1VybCA9IGl0ZW0/LnVybFxuXG4gICAgaWYgKG5ld1VybCkge1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcblxuICAgICAgLy8gaGFuZGxlOiBgZ2l0QGdpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdGBcbiAgICAgIC8vICAgIGJ5IG1hcHBpbmcgdG8gaHR0cHMgZ2l0IGZldGNoIHVybCAoZS5nLiBodHRwczovL2dpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdClcbiAgICAgIGlmIChuZXdVcmw/LmluY2x1ZGVzKCdnaXRAJykpIHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBuZXdVcmw/LnNwbGl0KCc6JylcbiAgICAgICAgY29uc3QgWywgaG9zdG5hbWVdID0gcGFydHNbMF0uc3BsaXQoJ0AnKVxuICAgICAgICBuZXdVcmwgPSBgaHR0cHM6Ly8ke2hvc3RuYW1lfS8ke3BhcnRzLnNsaWNlKDEpLmpvaW4oJzonKX1gXG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwobmV3VXJsKVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdpbGxlZ2FsIHVybCcsIGl0ZW0udXJsKVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG4gICAgICAgIHNldFVybEVycm9yKElOVkFMSURfVVJMKVxuICAgICAgICB2YWxpZGF0aW9uQ0IgJiYgdmFsaWRhdGlvbkNCKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgbGV0IHNlcnZlcl9cbiAgICAgIGxldCBob3N0bmFtZSA9IHVybC5ob3N0bmFtZVxuXG4gICAgICBpZiAoaG9zdG5hbWUpIHtcbiAgICAgICAgaWYgKGhvc3RuYW1lID09PSBgZG9vcjQzLm9yZ2ApIHtcbiAgICAgICAgICAvLyBoYW5kbGUgY2FzZSBvZiBsaW5rIHRvIGQ0MyByZWFkZXIgcGFnZSAoZS5nLiBodHRwczovL2Rvb3I0My5vcmcvdS91bmZvbGRpbmdXb3JkL2VuX3VsdC8pXG4gICAgICAgICAgaG9zdG5hbWUgPSAnZ2l0LicgKyBob3N0bmFtZSAvLyByZWRpcmVjdCB0byBnaXQgcmVwb1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHVybC5wb3J0KSB7XG4gICAgICAgICAgaG9zdG5hbWUgKz0gJzonICsgdXJsLnBvcnRcbiAgICAgICAgfVxuICAgICAgICBzZXJ2ZXJfID0gJ2h0dHBzOi8vJyArIGhvc3RuYW1lXG4gICAgICB9XG5cbiAgICAgIGxldCB1cmxfID0gbmV3VXJsXG5cbiAgICAgIGlmICghdXJsKSB7IC8vIGlmIG5vdCBhIG5ldyByZXNvdXJjZVxuICAgICAgICBzY3JpcHR1cmVTZXR0aW5ncyA9IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MocmVzb3VyY2VJZCwgYm9va0lkLCBpc05ld1Rlc3RhbWVudCwgb3JpZ2luYWxSZXBvVXJsKSAvLyBjb252ZXJ0IGFueSBkZWZhdWx0IHNldHRpbmdzIHN0cmluZ3NcbiAgICAgICAgdXJsXyA9IHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGlua1xuICAgICAgfVxuXG4gICAgICAvLyBtYWtlIHN1cmUgaXQgZXhpc3RzXG4gICAgICBjb3JlLnJlc291cmNlRnJvbVJlc291cmNlTGluayh7XG4gICAgICAgIHJlc291cmNlTGluazogdXJsXyxcbiAgICAgICAgcmVmZXJlbmNlLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBzZXJ2ZXI6IHNlcnZlcl8sXG4gICAgICAgICAgY2FjaGU6IHsgbWF4QWdlOiAxICogNjAgKiA2MCAqIDEwMDAgfSwgLy8gMSBoclxuICAgICAgICB9LFxuICAgICAgfSkudGhlbihyZXNvdXJjZSA9PiB7XG4gICAgICAgIGxldCBlcnJvciA9IFJFUE9fTk9UX0ZPVU5EX0VSUk9SXG4gICAgICAgIGxldCBuZXdTY3JpcHR1cmUgPSBudWxsXG5cbiAgICAgICAgaWYgKHJlc291cmNlKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgICAgc3ViamVjdCxcbiAgICAgICAgICB9ID0gcGFyc2VSZXNvdXJjZU1hbmlmZXN0KHJlc291cmNlKVxuICAgICAgICAgIGNvbnN0IGlzU2NyaXB0dXJlID0gaXNTY3JpcHR1cmVSZXNvdXJjZShzdWJqZWN0KVxuXG4gICAgICAgICAgaWYgKCFpc1NjcmlwdHVyZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGB1c2VTY3JpcHR1cmVTZXR0aW5ncy5zZXRTY3JpcHR1cmUgLSBVUkwgaXMgbm90IGEgc2NyaXB0dXJlIHJlc291cmNlOiAke3VybF99YClcbiAgICAgICAgICAgIGVycm9yID0gUkVQT19OT1RfU0NSSVBUVVJFX0VSUk9SXG4gICAgICAgICAgfSBlbHNlIGlmICh0aXRsZSAmJiB2ZXJzaW9uKSB7XG4gICAgICAgICAgICAvLyB3ZSBzdWNjZWVkZWQgaW4gZ2V0dGluZyByZXNvdXJjZSAtIHVzZSBpdFxuICAgICAgICAgICAgbmV3U2NyaXB0dXJlID0gZ2V0U2NyaXB0dXJlT2JqZWN0KHtcbiAgICAgICAgICAgICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgICAgICAgICAgICBsYW5ndWFnZUlkOiByZXNvdXJjZS5sYW5ndWFnZUlkLFxuICAgICAgICAgICAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gICAgICAgICAgICAgIG93bmVyOiByZXNvdXJjZS51c2VybmFtZSxcbiAgICAgICAgICAgICAgcmVmOiByZXNvdXJjZS5yZWYgfHwgJ21hc3RlcicsXG4gICAgICAgICAgICAgIHJlc291cmNlSWQ6IHJlc291cmNlLnJlc291cmNlSWQsXG4gICAgICAgICAgICAgIHJlc291cmNlTGluazogY2xlYW5SZXNvdXJjZUxpbmsocmVzb3VyY2U/LnJlc291cmNlTGluayksXG4gICAgICAgICAgICAgIHNlcnZlcjogc2VydmVyXyxcbiAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgbmV3U2NyaXB0dXJlWyd1c2VyQWRkZWQnXSA9IHRydWVcbiAgICAgICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3U2NyaXB0dXJlKSAvLyBwZXJzaXN0IGluIGxvY2FsIHN0b3JhZ2VcbiAgICAgICAgICAgIHNldFNjcmlwdHVyZVNldHRpbmdzKG5ld1NjcmlwdHVyZSlcbiAgICAgICAgICAgIGVycm9yID0gbnVsbCAvLyBubyBlcnJvclxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdlcnJvciBwYXJzaW5nIG1hbmlmZXN0JywgaXRlbS51cmwpXG4gICAgICAgICAgICBlcnJvciA9IE1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1JcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignbm90IGZvdW5kJywgaXRlbS51cmwpXG4gICAgICAgIH1cbiAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QucmVtb3ZlVXJsKGl0ZW0udXJsKVxuXG4gICAgICAgIGlmIChlcnJvciA9PT0gUkVQT19OT1RfRk9VTkRfRVJST1IpIHsgLy8gaWYgZ2VuZXJpYyBlcnJvciwgdmFsaWRhdGUgdGhlIFVSTFxuICAgICAgICAgIGNvbnN0IHsgdmFsaWRVcmwsIHZhbGlkUmVwb1BhdGggfSA9IHZhbGlkYXRlRGNzVXJsKGl0ZW0udXJsKVxuXG4gICAgICAgICAgaWYgKCF2YWxpZFVybCkge1xuICAgICAgICAgICAgZXJyb3IgPSBJTlZBTElEX1VSTFxuICAgICAgICAgIH0gZWxzZSBpZiAodmFsaWRSZXBvUGF0aCkge1xuICAgICAgICAgICAgZXJyb3IgPSBSRVBPX05PVF9GT1VORF9FUlJPUlxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvciA9IElOVkFMSURfUkVQT19VUkxfRVJST1JcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc2V0VXJsRXJyb3IoZXJyb3IpXG4gICAgICAgIHZhbGlkYXRpb25DQiAmJiB2YWxpZGF0aW9uQ0IoIWVycm9yLCBuZXdTY3JpcHR1cmUpXG4gICAgICB9KVxuICAgIH0gZWxzZSB7IC8vIHNlbGVjdGVkIGEgcHJldmlvdXMgc2V0dGluZ1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcbiAgICAgIHNldFNjcmlwdHVyZVNldHRpbmdzKGl0ZW0pXG4gICAgICB2YWxpZGF0aW9uQ0IgJiYgdmFsaWRhdGlvbkNCKHRydWUpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBzY3JpcHR1cmVDb25maWcsXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MsXG4gICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG4gICAgc2V0U2NyaXB0dXJlLFxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVNjcmlwdHVyZVNldHRpbmdzXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBU0EsU0FBUyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUMzQyxTQUFTQyxJQUFJLFFBQVEseUJBQXlCO0FBQzlDLFNBQVNDLE9BQU8sUUFBUSx5QkFBeUI7QUFDakQsU0FBU0MseUJBQXlCLEVBQUVDLHVCQUF1QixRQUFRLGtDQUFrQztBQUNyRyxTQUNFQyxzQkFBc0IsRUFDdEJDLFdBQVcsRUFDWEMsNEJBQTRCLEVBQzVCQyxrQkFBa0IsRUFDbEJDLFlBQVksRUFDWkMsZUFBZSxFQUNmQyxrQkFBa0IsRUFDbEJDLFlBQVksRUFDWkMsb0JBQW9CLEVBQ3BCQyx3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
347
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsImNvcmUiLCJpc0VxdWFsIiwiS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSIsIlNjcmlwdHVyZVZlcnNpb25IaXN0b3J5IiwiSU5WQUxJRF9SRVBPX1VSTF9FUlJPUiIsIklOVkFMSURfVVJMIiwiTUFOSUZFU1RfSU5WQUxJRF9TSE9SVF9FUlJPUiIsIk5UX09SSUdfTEFOR19CSUJMRSIsIk5UX09SSUdfTEFORyIsIk9SSUdJTkFMX1NPVVJDRSIsIk9UX09SSUdfTEFOR19CSUJMRSIsIk9UX09SSUdfTEFORyIsIlJFUE9fTk9UX0ZPVU5EX0VSUk9SIiwiUkVQT19OT1RfU0NSSVBUVVJFX0VSUk9SIiwic2V0TG9jYWxTdG9yYWdlVmFsdWUiLCJwYXJzZVJlc291cmNlTWFuaWZlc3QiLCJ2YWxpZGF0ZURjc1VybCIsImdldFJlc291cmNlTGluayIsImdldFNjcmlwdHVyZU9iamVjdCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJ1c2VTY3JpcHR1cmVSZXNvdXJjZXMiLCJLRVlfU0VUVElOR1NfQkFTRSIsIktFWV9UQVJHRVRfQkFTRSIsImZpeFNjcmlwdHVyZVNldHRpbmdzIiwidmVyc2lvbkhpc3QiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImxhbmd1YWdlSWQiLCJjYXJkTnVtIiwib3duZXIiLCJyZXNvdXJjZUlkIiwibmV3U2NyaXB0dXJlU2V0dGluZ3MiLCJfb2JqZWN0U3ByZWFkIiwicmVzb3VyY2VMaW5rIiwiYWRkSXRlbVRvSGlzdG9yeSIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJtb2RpZmllZCIsImkiLCJsZW5ndGgiLCJpdGVtIiwiaiIsIm1hdGNoX2l0ZW0iLCJtYXRjaF9yZXNvdXJjZUlkIiwicmVmIiwic2VydmVyIiwic3BsaWNlIiwic2F2ZUhpc3RvcnkiLCJpc1NjcmlwdHVyZVJlc291cmNlIiwic3ViamVjdCIsIkJpYmxlUmVzb3VyY2VzIiwiaXNTY3JpcHR1cmUiLCJpbmNsdWRlcyIsInVzZVNjcmlwdHVyZVNldHRpbmdzIiwiX3JlZiIsImFwcFJlZiIsImRpc2FibGVXb3JkUG9wb3ZlciIsImdyZWVrUmVwb1VybCIsImhlYnJld1JlcG9VcmwiLCJodHRwQ29uZmlnIiwiaXNOVCIsIm9yaWdpbmFsTGFuZ3VhZ2VPd25lciIsInJlZmVyZW5jZSIsIl9yZWYkcmVhZHlGb3JGZXRjaCIsInJlYWR5Rm9yRmV0Y2giLCJzZXRVcmxFcnJvciIsInRpdGxlIiwidXNlVXNlckxvY2FsU3RvcmFnZSIsIl9yZWYkd2hvbGVCb29rIiwid2hvbGVCb29rIiwiYm9va0lkIiwiaXNOZXdUZXN0YW1lbnQiLCJzY3JpcHR1cmVEZWZhdWx0U2V0dGluZ3MiLCJfdXNlVXNlckxvY2FsU3RvcmFnZSIsIl91c2VVc2VyTG9jYWxTdG9yYWdlMiIsIl9zbGljZWRUb0FycmF5IiwidmVyc2lvbkhpc3RvcnkiLCJzYXZlVmVyc2lvbkhpc3QiLCJyZWZyZXNoVmVyc2lvbkhpc3QiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsIl91c2VVc2VyTG9jYWxTdG9yYWdlMyIsIl91c2VVc2VyTG9jYWxTdG9yYWdlNCIsInNldFNjcmlwdHVyZVNldHRpbmdzIiwiY3VycmVudFRhcmdldCIsIl91c2VVc2VyTG9jYWxTdG9yYWdlNSIsIl91c2VVc2VyTG9jYWxTdG9yYWdlNiIsInRhcmdldCIsInNldFRhcmdldCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJjbGVhblVwIiwic2V0Q2xlYW5VcCIsIm9sZERlZmF1bHRTZXR0aW5ncyIsInJlbW92ZUl0ZW0iLCJvcmlnaW5hbFJlcG9VcmwiLCJzY3JpcHR1cmVDb25maWciLCJjdXJyZW50TGFuZ3VhZ2VJZCIsImN1cnJlbnRPd25lciIsImNsZWFuUmVzb3VyY2VMaW5rIiwiX3Jlc291cmNlTGlua18iLCJyZXNvdXJjZUxpbmtfIiwicmVzb3VyY2VMaW5rcyIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwic2V0U2NyaXB0dXJlIiwidmFsaWRhdGlvbkNCIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwidXJsIiwibmV3VXJsIiwiX25ld1VybCIsIl9uZXdVcmwyIiwicGFydHMiLCJfcGFydHMkMCRzcGxpdCIsIl9wYXJ0cyQwJHNwbGl0MiIsImhvc3RuYW1lIiwiY29uY2F0IiwiVVJMIiwiX3VudXNlZCIsImNvbnNvbGUiLCJsb2ciLCJyZW1vdmVVcmwiLCJzZXJ2ZXJfIiwicG9ydCIsInVybF8iLCJyZXNvdXJjZUZyb21SZXNvdXJjZUxpbmsiLCJjb25maWciLCJjYWNoZSIsIm1heEFnZSIsInRoZW4iLCJyZXNvdXJjZSIsImVycm9yIiwibmV3U2NyaXB0dXJlIiwiX3BhcnNlUmVzb3VyY2VNYW5pZmVzIiwidmVyc2lvbiIsIndhcm4iLCJ1c2VybmFtZSIsIl92YWxpZGF0ZURjc1VybCIsInZhbGlkVXJsIiwidmFsaWRSZXBvUGF0aCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVTZXR0aW5ncy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ0ByZWFjdC1ob29rei9kZWVwLWVxdWFsJ1xuaW1wb3J0IHsgS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSwgU2NyaXB0dXJlVmVyc2lvbkhpc3RvcnkgfSBmcm9tICcuLi91dGlscy9TY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSdcbmltcG9ydCB7XG4gIElOVkFMSURfUkVQT19VUkxfRVJST1IsXG4gIElOVkFMSURfVVJMLFxuICBNQU5JRkVTVF9JTlZBTElEX1NIT1JUX0VSUk9SLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE5UX09SSUdfTEFORyxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIE9UX09SSUdfTEFORyxcbiAgUkVQT19OT1RfRk9VTkRfRVJST1IsXG4gIFJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUixcbiAgc2V0TG9jYWxTdG9yYWdlVmFsdWUsXG4gIHBhcnNlUmVzb3VyY2VNYW5pZmVzdCxcbiAgdmFsaWRhdGVEY3NVcmwsXG59IGZyb20gJy4uJ1xuaW1wb3J0IHtcbiAgZ2V0UmVzb3VyY2VMaW5rLFxuICBnZXRTY3JpcHR1cmVPYmplY3QsXG4gIGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MsXG59IGZyb20gJy4uL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHVzZVNjcmlwdHVyZVJlc291cmNlcyBmcm9tICcuL3VzZVNjcmlwdHVyZVJlc291cmNlcydcblxuY29uc3QgS0VZX1NFVFRJTkdTX0JBU0UgPSAnc2NyaXB0dXJlUGFuZUNvbmZpZ18nXG5jb25zdCBLRVlfVEFSR0VUX0JBU0UgPSAnc2NyaXB0dXJlUGFuZVRhcmdldF8nXG5cbmZ1bmN0aW9uIGZpeFNjcmlwdHVyZVNldHRpbmdzKHZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpIHtcbiAgLy8gY2xlYW4gdXAgaGFyZC1jb2RlZCBvcmlnaW5hbCBzb3VyY2VzXG4gIGlmICgoc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAoc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSkge1xuICAgIGlmICgoc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCAhPT0gTlRfT1JJR19MQU5HKSAmJiAoc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCAhPT0gT1RfT1JJR19MQU5HKSkgeyAvLyBpZiB0aGlzIGlzIHRyYWNrIHdpdGggY3VycmVudCBzZWxlY3RlZCBsYW5ndWFnZSBhbmQgdGVzdGFtZW50IG9mIGJvb2tcbiAgICAgIGNvbnN0IG5ld1NjcmlwdHVyZVNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVTZXR0aW5ncyB9XG4gICAgICBuZXdTY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID0gbGFuZ3VhZ2VJZFxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IE9SSUdJTkFMX1NPVVJDRVxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBvd25lclxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKG5ld1NjcmlwdHVyZVNldHRpbmdzKVxuICAgICAgc2V0TG9jYWxTdG9yYWdlVmFsdWUoS0VZX1NFVFRJTkdTX0JBU0UgKyBjYXJkTnVtLCBuZXdTY3JpcHR1cmVTZXR0aW5ncylcbiAgICAgIHZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3U2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgfVxuICB9XG5cbiAgLy8gY2xlYW4gaGlzdG9yeSBvZiBvcmlnaW5hbCBzb3VyY2VzXG4gIGxldCBoaXN0b3J5ID0gdmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KCkgfHwgW11cbiAgbGV0IG1vZGlmaWVkID0gZmFsc2VcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGhpc3RvcnkubGVuZ3RoOyBpKyspIHsgLy8gc2VhcmNoIGZvciBvcmlnaW5hbCBzb3VyY2UgZHVwbGljYXRlcyBpbiBoaXN0b3J5XG4gICAgY29uc3QgaXRlbSA9IGhpc3RvcnlbaV1cbiAgICBjb25zdCByZXNvdXJjZUlkID0gaXRlbS5yZXNvdXJjZUlkXG5cbiAgICBpZiAoKHJlc291cmNlSWQgPT09IE5UX09SSUdfTEFOR19CSUJMRSkgfHwgKHJlc291cmNlSWQgPT09IE9UX09SSUdfTEFOR19CSUJMRSkgfHwgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkpIHtcbiAgICAgIGZvciAoIGxldCBqID0gaSArIDE7IGogPCBoaXN0b3J5Lmxlbmd0aDsgaisrKSB7IC8vIHNlYXJjaCByZXN0IG9mIGxpc3QgZm9yIGR1cGxpY2F0ZXMgb2YgaXRlbSBhdCBpXG4gICAgICAgIGNvbnN0IG1hdGNoX2l0ZW0gPSBoaXN0b3J5W2pdXG4gICAgICAgIGNvbnN0IG1hdGNoX3Jlc291cmNlSWQgPSBtYXRjaF9pdGVtLnJlc291cmNlSWRcblxuICAgICAgICBpZiAoKG1hdGNoX3Jlc291cmNlSWQgPT09IHJlc291cmNlSWQpKSB7XG4gICAgICAgICAgaWYgKChpdGVtLm93bmVyID09PSBtYXRjaF9pdGVtLm93bmVyKSAmJlxuICAgICAgICAgICAgKGl0ZW0ucmVmID09PSBtYXRjaF9pdGVtLnJlZikgJiZcbiAgICAgICAgICAgIChpdGVtLnNlcnZlciA9PT0gbWF0Y2hfaXRlbS5zZXJ2ZXIpICYmXG4gICAgICAgICAgICAoaXRlbS5yZXNvdXJjZUlkID09PSBtYXRjaF9pdGVtLnJlc291cmNlSWQpKSB7XG4gICAgICAgICAgICBoaXN0b3J5LnNwbGljZShqLCAxKSAvLyByZW1vdmUgZHVwbGljYXRlIGl0ZW1cbiAgICAgICAgICAgIG1vZGlmaWVkID0gdHJ1ZVxuICAgICAgICAgICAgai0tIC8vIGJhY2sgdXAgaW5kZXggc2luY2UgY29udGVudHMgc2hpZnRlZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChtb2RpZmllZCkge1xuICAgIHZlcnNpb25IaXN0LnNhdmVIaXN0b3J5KGhpc3RvcnkpXG4gIH1cbn1cblxuZnVuY3Rpb24gaXNTY3JpcHR1cmVSZXNvdXJjZShzdWJqZWN0KSB7XG4gIGNvbnN0IEJpYmxlUmVzb3VyY2VzID0gWyAnQmlibGUnLCAnQWxpZ25lZCBCaWJsZScsICdHcmVlayBOZXcgVGVzdGFtZW50JywgJ0hlYnJldyBPbGQgVGVzdGFtZW50JyBdXG4gIGNvbnN0IGlzU2NyaXB0dXJlID0gQmlibGVSZXNvdXJjZXMuaW5jbHVkZXMoc3ViamVjdClcbiAgcmV0dXJuIGlzU2NyaXB0dXJlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTY3JpcHR1cmVTZXR0aW5ncyh7XG4gIGFwcFJlZixcbiAgY2FyZE51bSxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBncmVla1JlcG9VcmwsXG4gIGhlYnJld1JlcG9VcmwsXG4gIGh0dHBDb25maWcsXG4gIGlzTlQsXG4gIGxhbmd1YWdlSWQsXG4gIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgb3duZXIsXG4gIHJlZmVyZW5jZSxcbiAgcmVzb3VyY2VJZCxcbiAgcmVzb3VyY2VMaW5rLFxuICByZWFkeUZvckZldGNoID0gZmFsc2UsXG4gIHNlcnZlcixcbiAgc2V0VXJsRXJyb3IsXG4gIHRpdGxlLFxuICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICB3aG9sZUJvb2sgPSBmYWxzZSxcbn0pIHtcbiAgY29uc3QgYm9va0lkID0gcmVmZXJlbmNlPy5ib29rSWRcbiAgY29uc3QgaXNOZXdUZXN0YW1lbnQgPSBpc05UKGJvb2tJZClcbiAgY29uc3Qgc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzID0gZ2V0U2NyaXB0dXJlT2JqZWN0KHtcbiAgICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gICAgb3duZXIsXG4gICAgcmVmOiBhcHBSZWYsXG4gICAgcmVzb3VyY2VJZCxcbiAgICByZXNvdXJjZUxpbmssXG4gICAgc2VydmVyLFxuICAgIHRpdGxlLFxuICB9KVxuICBjb25zdCBbdmVyc2lvbkhpc3RvcnksIHNhdmVWZXJzaW9uSGlzdCwgcmVmcmVzaFZlcnNpb25IaXN0XSA9IHVzZVVzZXJMb2NhbFN0b3JhZ2UoS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSwgW10pXG4gIGNvbnN0IHNjcmlwdHVyZVZlcnNpb25IaXN0ID0gbmV3IFNjcmlwdHVyZVZlcnNpb25IaXN0b3J5KHZlcnNpb25IaXN0b3J5LCBzYXZlVmVyc2lvbkhpc3QsIHJlZnJlc2hWZXJzaW9uSGlzdClcblxuICBsZXQgW3NjcmlwdHVyZVNldHRpbmdzLCBzZXRTY3JpcHR1cmVTZXR0aW5nc10gPSB1c2VVc2VyTG9jYWxTdG9yYWdlKEtFWV9TRVRUSU5HU19CQVNFICsgY2FyZE51bSwgc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzKVxuICBjb25zdCBjdXJyZW50VGFyZ2V0ID0ge1xuICAgIHNlcnZlcixcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICB9XG4gIGNvbnN0IFt0YXJnZXQsIHNldFRhcmdldF0gPSB1c2VVc2VyTG9jYWxTdG9yYWdlKEtFWV9UQVJHRVRfQkFTRSArIGNhcmROdW0sIGN1cnJlbnRUYXJnZXQpXG4gIGNvbnN0IFtjbGVhblVwLCBzZXRDbGVhblVwXSA9IHVzZVN0YXRlKHRydWUpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobGFuZ3VhZ2VJZCAmJiBvd25lcikgeyAvLyBtYWtlIHN1cmUgd2UgaGF2ZSBsYW5ndWFnZUlkIGFuZCBvd25lciBzZWxlY3RlZCBmaXJzdFxuICAgICAgaWYgKGNsZWFuVXApIHsgLy8gZG8gaW5pdGlhbCBjbGVhbnVwXG4gICAgICAgIGZpeFNjcmlwdHVyZVNldHRpbmdzKHNjcmlwdHVyZVZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpXG4gICAgICAgIHNldENsZWFuVXAoZmFsc2UpXG4gICAgICB9XG5cbiAgICAgIGlmICghaXNFcXVhbChjdXJyZW50VGFyZ2V0LCB0YXJnZXQpKSB7IC8vIHdoZW4gdGFyZ2V0IGNoYW5nZXMsIHN3aXRjaCBiYWNrIHRvIGRlZmF1bHRzXG4gICAgICAgIGNvbnN0IG9sZERlZmF1bHRTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzLCAuLi50YXJnZXQgfVxuICAgICAgICBvbGREZWZhdWx0U2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKG9sZERlZmF1bHRTZXR0aW5ncylcbiAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QucmVtb3ZlSXRlbShvbGREZWZhdWx0U2V0dGluZ3MpIC8vIHJlbW92ZSBvbGQgZGVmYXVsdCBzZXR0aW5ncyBmcm9tIGhpc3RvcnlcbiAgICAgICAgZml4U2NyaXB0dXJlU2V0dGluZ3Moc2NyaXB0dXJlVmVyc2lvbkhpc3QsIHNjcmlwdHVyZVNldHRpbmdzLCBsYW5ndWFnZUlkLCBjYXJkTnVtLCBvd25lcilcblxuICAgICAgICBzZXRTY3JpcHR1cmVTZXR0aW5ncyhzY3JpcHR1cmVEZWZhdWx0U2V0dGluZ3MpXG4gICAgICAgIHNldFRhcmdldChjdXJyZW50VGFyZ2V0KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QuYWRkSXRlbVRvSGlzdG9yeShzY3JpcHR1cmVTZXR0aW5ncykgLy8gbWFrZSBzdXJlIGN1cnJlbnQgc2NyaXB0dXJlIHZlcnNpb24gcGVyc2lzdGVkIGluIGhpc3RvcnlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtsYW5ndWFnZUlkLCBvd25lciwgY2xlYW5VcF0pXG5cbiAgY29uc3Qgb3JpZ2luYWxSZXBvVXJsID0gaXNOZXdUZXN0YW1lbnQgPyBncmVla1JlcG9VcmwgOiBoZWJyZXdSZXBvVXJsXG4gIGNvbnN0IHNjcmlwdHVyZUNvbmZpZyA9IHVzZVNjcmlwdHVyZVJlc291cmNlcyh7XG4gICAgYXBwUmVmLFxuICAgIGN1cnJlbnRMYW5ndWFnZUlkOiBsYW5ndWFnZUlkLFxuICAgIGN1cnJlbnRPd25lcjogb3duZXIsXG4gICAgaHR0cENvbmZpZyxcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBvcmlnaW5hbFJlcG9VcmwsXG4gICAgcmVhZHlGb3JGZXRjaCxcbiAgICByZWZlcmVuY2UsXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MsXG4gICAgd2hvbGVCb29rLFxuICB9KVxuXG4gIC8qKlxuICAgKiBtYWtlIHN1cmUgdGhhdCBib29rSWQgb3IgcHJvamVjdElkIGFyZSBub3QgZW1iZWRkZWQgaW4gbGluay5cbiAgICogICAgRm9yIGV4YW1wbGUgaW4gYHJ1X2dsL3J1L3Jzb2IvbWFzdGVyL2hlYmAgdGhlIHByb2plY3RJZCBoZWIgaXMgaW4gdGhlIGxpbmsgYW5kIHdpbGwgb3ZlcnJpZGUgdGhlXG4gICAqICAgIHByb2plY3RJZCBpbiB0aGUgcmVmZXJlbmNlIHdoZW4gd2UgdHJ5IHRvIGZldGNoIGxhdGVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZXNvdXJjZUxpbmtcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIGNsZWFuZWQgdXAgcmVzb3VyY2UgbGlua1xuICAgKi9cbiAgZnVuY3Rpb24gY2xlYW5SZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rKSB7XG4gICAgbGV0IHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtcbiAgICBjb25zdCByZXNvdXJjZUxpbmtzID0gcmVzb3VyY2VMaW5rXz8uc3BsaXQoJy8nKVxuXG4gICAgaWYgKHJlc291cmNlTGlua3M/Lmxlbmd0aCA+IDQpIHsgLy8gaWYgdG9vIG1hbnkgZmllbGRzLCB0aGVuIHRyaW1cbiAgICAgIHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtzPy5zbGljZSgwLCA0KS5qb2luKCcvJylcbiAgICB9XG4gICAgcmV0dXJuIHJlc291cmNlTGlua19cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayB0byBlaXRoZXIgYWRkIG5ldyBzY3JpcHR1cmUgaXRlbSBvciBzZWxlY3QgZXhpc3RpbmcgaXRlbSBpbiBoaXN0b3J5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBpdGVtIC0gbmV3IGl0ZW0gdG8gYWRkIG9yIGV4aXN0aW5nIGl0ZW0gdG8gc2VsZWN0IGZyb20gaGlzdG9yeVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSB2YWxpZGF0aW9uQ0IgLSBjYWxsYmFjayBmdW5jdGlvbiB0byBwYXNzIGJhY2sgaWYgaXRlbSB1cmwgd2FzIHZhbGlkIG9yIG5vdFxuICAgKi9cbiAgY29uc3Qgc2V0U2NyaXB0dXJlID0gKGl0ZW0sIHZhbGlkYXRpb25DQiA9IG51bGwpID0+IHtcbiAgICBsZXQgdXJsXG4gICAgbGV0IG5ld1VybCA9IGl0ZW0/LnVybFxuXG4gICAgaWYgKG5ld1VybCkge1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcblxuICAgICAgLy8gaGFuZGxlOiBgZ2l0QGdpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdGBcbiAgICAgIC8vICAgIGJ5IG1hcHBpbmcgdG8gaHR0cHMgZ2l0IGZldGNoIHVybCAoZS5nLiBodHRwczovL2dpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdClcbiAgICAgIGlmIChuZXdVcmw/LmluY2x1ZGVzKCdnaXRAJykpIHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBuZXdVcmw/LnNwbGl0KCc6JylcbiAgICAgICAgY29uc3QgWywgaG9zdG5hbWVdID0gcGFydHNbMF0uc3BsaXQoJ0AnKVxuICAgICAgICBuZXdVcmwgPSBgaHR0cHM6Ly8ke2hvc3RuYW1lfS8ke3BhcnRzLnNsaWNlKDEpLmpvaW4oJzonKX1gXG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwobmV3VXJsKVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdpbGxlZ2FsIHVybCcsIGl0ZW0udXJsKVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG4gICAgICAgIHNldFVybEVycm9yKElOVkFMSURfVVJMKVxuICAgICAgICB2YWxpZGF0aW9uQ0IgJiYgdmFsaWRhdGlvbkNCKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgbGV0IHNlcnZlcl9cbiAgICAgIGxldCBob3N0bmFtZSA9IHVybC5ob3N0bmFtZVxuXG4gICAgICBpZiAoaG9zdG5hbWUpIHtcbiAgICAgICAgaWYgKGhvc3RuYW1lID09PSBgZG9vcjQzLm9yZ2ApIHtcbiAgICAgICAgICAvLyBoYW5kbGUgY2FzZSBvZiBsaW5rIHRvIGQ0MyByZWFkZXIgcGFnZSAoZS5nLiBodHRwczovL2Rvb3I0My5vcmcvdS91bmZvbGRpbmdXb3JkL2VuX3VsdC8pXG4gICAgICAgICAgaG9zdG5hbWUgPSAnZ2l0LicgKyBob3N0bmFtZSAvLyByZWRpcmVjdCB0byBnaXQgcmVwb1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHVybC5wb3J0KSB7XG4gICAgICAgICAgaG9zdG5hbWUgKz0gJzonICsgdXJsLnBvcnRcbiAgICAgICAgfVxuICAgICAgICBzZXJ2ZXJfID0gJ2h0dHBzOi8vJyArIGhvc3RuYW1lXG4gICAgICB9XG5cbiAgICAgIGxldCB1cmxfID0gbmV3VXJsXG5cbiAgICAgIGlmICghdXJsKSB7IC8vIGlmIG5vdCBhIG5ldyByZXNvdXJjZVxuICAgICAgICBzY3JpcHR1cmVTZXR0aW5ncyA9IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MocmVzb3VyY2VJZCwgYm9va0lkLCBpc05ld1Rlc3RhbWVudCwgb3JpZ2luYWxSZXBvVXJsKSAvLyBjb252ZXJ0IGFueSBkZWZhdWx0IHNldHRpbmdzIHN0cmluZ3NcbiAgICAgICAgdXJsXyA9IHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGlua1xuICAgICAgfVxuXG4gICAgICAvLyBtYWtlIHN1cmUgaXQgZXhpc3RzXG4gICAgICBjb3JlLnJlc291cmNlRnJvbVJlc291cmNlTGluayh7XG4gICAgICAgIHJlc291cmNlTGluazogdXJsXyxcbiAgICAgICAgcmVmZXJlbmNlLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBzZXJ2ZXI6IHNlcnZlcl8sXG4gICAgICAgICAgY2FjaGU6IHsgbWF4QWdlOiAxICogNjAgKiA2MCAqIDEwMDAgfSwgLy8gMSBoclxuICAgICAgICB9LFxuICAgICAgfSkudGhlbihyZXNvdXJjZSA9PiB7XG4gICAgICAgIGxldCBlcnJvciA9IFJFUE9fTk9UX0ZPVU5EX0VSUk9SXG4gICAgICAgIGxldCBuZXdTY3JpcHR1cmUgPSBudWxsXG5cbiAgICAgICAgaWYgKHJlc291cmNlKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgICAgc3ViamVjdCxcbiAgICAgICAgICB9ID0gcGFyc2VSZXNvdXJjZU1hbmlmZXN0KHJlc291cmNlKVxuICAgICAgICAgIGNvbnN0IGlzU2NyaXB0dXJlID0gaXNTY3JpcHR1cmVSZXNvdXJjZShzdWJqZWN0KVxuXG4gICAgICAgICAgaWYgKCFpc1NjcmlwdHVyZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGB1c2VTY3JpcHR1cmVTZXR0aW5ncy5zZXRTY3JpcHR1cmUgLSBVUkwgaXMgbm90IGEgc2NyaXB0dXJlIHJlc291cmNlOiAke3VybF99YClcbiAgICAgICAgICAgIGVycm9yID0gUkVQT19OT1RfU0NSSVBUVVJFX0VSUk9SXG4gICAgICAgICAgfSBlbHNlIGlmICh0aXRsZSAmJiB2ZXJzaW9uKSB7XG4gICAgICAgICAgICAvLyB3ZSBzdWNjZWVkZWQgaW4gZ2V0dGluZyByZXNvdXJjZSAtIHVzZSBpdFxuICAgICAgICAgICAgbmV3U2NyaXB0dXJlID0gZ2V0U2NyaXB0dXJlT2JqZWN0KHtcbiAgICAgICAgICAgICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgICAgICAgICAgICBsYW5ndWFnZUlkOiByZXNvdXJjZS5sYW5ndWFnZUlkLFxuICAgICAgICAgICAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gICAgICAgICAgICAgIG93bmVyOiByZXNvdXJjZS51c2VybmFtZSxcbiAgICAgICAgICAgICAgcmVmOiByZXNvdXJjZS5yZWYgfHwgJ21hc3RlcicsXG4gICAgICAgICAgICAgIHJlc291cmNlSWQ6IHJlc291cmNlLnJlc291cmNlSWQsXG4gICAgICAgICAgICAgIHJlc291cmNlTGluazogY2xlYW5SZXNvdXJjZUxpbmsocmVzb3VyY2U/LnJlc291cmNlTGluayksXG4gICAgICAgICAgICAgIHNlcnZlcjogc2VydmVyXyxcbiAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgbmV3U2NyaXB0dXJlWyd1c2VyQWRkZWQnXSA9IHRydWVcbiAgICAgICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3U2NyaXB0dXJlKSAvLyBwZXJzaXN0IGluIGxvY2FsIHN0b3JhZ2VcbiAgICAgICAgICAgIHNldFNjcmlwdHVyZVNldHRpbmdzKG5ld1NjcmlwdHVyZSlcbiAgICAgICAgICAgIGVycm9yID0gbnVsbCAvLyBubyBlcnJvclxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdlcnJvciBwYXJzaW5nIG1hbmlmZXN0JywgaXRlbS51cmwpXG4gICAgICAgICAgICBlcnJvciA9IE1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1JcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignbm90IGZvdW5kJywgaXRlbS51cmwpXG4gICAgICAgIH1cbiAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QucmVtb3ZlVXJsKGl0ZW0udXJsKVxuXG4gICAgICAgIGlmIChlcnJvciA9PT0gUkVQT19OT1RfRk9VTkRfRVJST1IpIHsgLy8gaWYgZ2VuZXJpYyBlcnJvciwgdmFsaWRhdGUgdGhlIFVSTFxuICAgICAgICAgIGNvbnN0IHsgdmFsaWRVcmwsIHZhbGlkUmVwb1BhdGggfSA9IHZhbGlkYXRlRGNzVXJsKGl0ZW0udXJsKVxuXG4gICAgICAgICAgaWYgKCF2YWxpZFVybCkge1xuICAgICAgICAgICAgZXJyb3IgPSBJTlZBTElEX1VSTFxuICAgICAgICAgIH0gZWxzZSBpZiAodmFsaWRSZXBvUGF0aCkge1xuICAgICAgICAgICAgZXJyb3IgPSBSRVBPX05PVF9GT1VORF9FUlJPUlxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvciA9IElOVkFMSURfUkVQT19VUkxfRVJST1JcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc2V0VXJsRXJyb3IoZXJyb3IpXG4gICAgICAgIHZhbGlkYXRpb25DQiAmJiB2YWxpZGF0aW9uQ0IoIWVycm9yLCBuZXdTY3JpcHR1cmUpXG4gICAgICB9KVxuICAgIH0gZWxzZSB7IC8vIHNlbGVjdGVkIGEgcHJldmlvdXMgc2V0dGluZ1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcbiAgICAgIHNldFNjcmlwdHVyZVNldHRpbmdzKGl0ZW0pXG4gICAgICB2YWxpZGF0aW9uQ0IgJiYgdmFsaWRhdGlvbkNCKHRydWUpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBzY3JpcHR1cmVDb25maWcsXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MsXG4gICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG4gICAgc2V0U2NyaXB0dXJlLFxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVNjcmlwdHVyZVNldHRpbmdzXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBU0EsU0FBUyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUMzQyxTQUFTQyxJQUFJLFFBQVEseUJBQXlCO0FBQzlDLFNBQVNDLE9BQU8sUUFBUSx5QkFBeUI7QUFDakQsU0FBU0MseUJBQXlCLEVBQUVDLHVCQUF1QixRQUFRLGtDQUFrQztBQUNyRyxTQUNFQyxzQkFBc0IsRUFDdEJDLFdBQVcsRUFDWEMsNEJBQTRCLEVBQzVCQyxrQkFBa0IsRUFDbEJDLFlBQVksRUFDWkMsZUFBZSxFQUNmQyxrQkFBa0IsRUFDbEJDLFlBQVksRUFDWkMsb0JBQW9CLEVBQ3BCQyx3QkFBd0IsRUFDeEJDLG9C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
@@ -1,2 +1,2 @@
1
1
 
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0dXJlUmVmZXJlbmNlIHtcbiAgcHJvamVjdElkOiBzdHJpbmc7XG4gIGNoYXB0ZXI6IG51bWJlcjtcbiAgdmVyc2U6IG51bWJlcnxzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVyQ29uZmlnIHtcbiAgc2VydmVyOiBzdHJpbmc7XG4gIGNhY2hlOiB7XG4gICAgbWF4QWdlOiBudW1iZXI7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3JpcHR1cmVSZXNvdXJjZSB7XG4gIGxhbmd1YWdlSWQ6IHN0cmluZztcbiAgcHJvamVjdElkOiBzdHJpbmc7XG4gIG93bmVyOiBzdHJpbmc7XG4gIGJyYW5jaDogc3RyaW5nO1xuICByZWY6IHN0cmluZztcbn1cblxuLy8gdGhlIHR5cGVzIG9mIGNvbnRlbnQgaW4gdGhlIFVTRk1cbi8vICAgdGV4dCAtIHJhdyBub24td29yZCB0ZXh0IHRvIGJlIGRpc3BsYXllZCBzdWNoIGFzIHdoaXRlIHNwYWNlLCBudW1iZXJzIGFuZCBwdW5jdHVhdGlvblxuLy8gICB3b3JkIC0gYSBzaW5nbGUgYmlibGUgd29yZCB0byBiZSBkaXNwbGF5ZWRcbi8vICAgcGFyYWdyYXBoIC0gYSBwYXJhZ3JhcGggaW4gdGhlIGJpYmxlIC0gLy9UT0RPOiBjaGVjayBpZiB0aGlzIGlzIHRoaXMgZXZlbiB1c2VkIGFueW1vcmVcbi8vICAgbWlsZXN0b25lIC0gdGhpcyBpcyBhIFVTRk0gbWlsZXN0b25lIChpLmUuIGEgc3BhbiB0aGF0IGNvbnRhaW5zIFVTRk0gY29udGVudCBzdWNoIGFzIGFuIGFsaWdubWVudClcbmV4cG9ydCB0eXBlIFZlcnNlT2JqZWN0VGFnVHlwZSA9ICd0ZXh0J3wnd29yZCd8J3BhcmFncmFwaCd8J21pbGVzdG9uZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyc2VPYmplY3RUeXBlIHsgLy8gcGFyc2VkIHJlcHJlc2VudGF0aW9uIG9mIFVTRk0gY29udGVudFxuICBjaGlsZHJlbj86IFZlcnNlT2JqZWN0VHlwZVtdOyAvLyBsaXN0IG9mIHZlcnNlT2JqZWN0cyB0aGF0IGFyZSBjb250YWluZWQgd2l0aGluIGEgbWlsZXN0b25lLiBJbiB0aGUgY2FzZSBvZiBhbGlnbm1lbnQgKFVTRk0gdGFnIGB6YWxuYCkgdGhpcyB3b3VsZCBjb250YWluIHRoZSB0cmFuc2xhdGVkIHdvcmRzIGFsaWduZWQgdG8gY29udGVudCBmaWVsZClcbiAgY29udGVudD86IHN0cmluZzsgLy8gbm9uLWRpc3BsYXllZCBjb250ZW50IHR5cGljYWxseSBmb3IgbWlsZXN0b25lcyAoZS5nLiBpbiBhbGlnbm1lbnRzIGNvdWxkIGJlIHVzZWQgdG8gZGVub3RlIHRoZSBvcmlnaW5hbCBsYW5ndWFnZSB3b3JkIHRoZSBjaGlsZHJlbiBhcmUgYWxpZ25lZCB0bylcbiAgZW5kVGFnPyA6IHN0cmluZzsgLy8gaW4gdGhlIGNhc2Ugb2YgYSBtaWxlc3RvbmUsIHRoaXMgY29udGFpbnMgdGhlIHN0cmluZyB0aGF0IGluZGljYXRlcyB0aGUgZW5kIG9mIGFuIGFsaWdubWVudFxuICBsZW1tYT86IHN0cmluZzsgLy8gaW4gdGhlIGNhc2Ugb2Ygb3JpZ2luYWwgbGFuZ3VhZ2VzLCB0aGlzIGlzIHRoZSByb290IG9mIGEgd29yZFxuICBtb3JwaD86IHN0cmluZzsgLy8gaW4gdGhlIGNhc2Ugb2Ygb3JpZ2luYWwgbGFuZ3VhZ2VzLCB0aGlzIGlzIHRoZSBtb3JwaG9sb2d5IG9mIGEgd29yZCAoZS5nLiBcIkdyLEQsLCwsLCwsLCxcIilcbiAgbmV4dENoYXI/OiBcIlxcblwiLCAvLyB3aGl0ZSBzcGFjZSB0aGF0IGZvbGxvd3MgdGhpcyB2ZXJzZU9iamVjdCAtIHR5cGljYWxseSBvbmUgb3IgbW9yZSBzcGFjZXMvbmV3bGluZXNcbiAgb2NjdXJyZW5jZT86IG51bWJlcnxzdHJpbmc7IC8vIFRvdGFsIG9jY3VycmVuY2VzIGZvciB0aGUgd29yZCBpbiB0aGUgdmVyc2UuXG4gIG9jY3VycmVuY2VzPzogbnVtYmVyfHN0cmluZzsgLy8gU3BlY2lmaWMgb2NjdXJyZW5jZSBvZiB0aGUgd29yZCBpbiB0aGUgdmVyc2UuXG4gIHN0cm9uZz86IHN0cmluZzsgLy8gIFRoZSB0ZXh0IHRoYXQgdXNlZCBmb3IgcmVuZGVyaW5nIG9uIHRoZSBzY3JlZW4uIChlLmcuIFwiRzE4OTkwXCIpXG4gIHRhZz86IHN0cmluZzsgLy8gRGVub3RlcyB0aGUgVVNGTSB0YWcgb2YgdGhlIHZlcnNlT2JqZWN0IChzZWUgdGhlIFVTRk0gc3BlYyBmb3IgbW9yZSBpbmZvcm1hdGlvbilcbiAgdGV4dD86IHN0cmluZzsgLy8gIFRoZSB0ZXh0IHRoYXQgdXNlZCBmb3IgZGlzcGxheSBvbiB0aGUgc2NyZWVuLlxuICB0dz86IHN0cmluZzsgLy8gdHJhbnNsYXRpb25Xb3JkIGlkZW50aWZpZXIgc3VjaCBhcyBcInJjOi8vKi90dy9kaWN0L2JpYmxlL290aGVyL2JpYmxpY2FsdGltZXllYXJcIlxuICB0eXBlOiBWZXJzZU9iamVjdFRhZ1R5cGU7IC8vIERlbm90ZXMgdGhlIGNhdGVnb3J5IG9mIGNvbnRlbnQgdGhlIHZlcnNlT2JqZWN0IGhvbGRzXG59XG5cbmV4cG9ydCB0eXBlIFZlcnNlT2JqZWN0c1R5cGUgPSBWZXJzZU9iamVjdFR5cGVbXTtcblxuZXhwb3J0IGludGVyZmFjZSBWZXJzZXNUeXBlIHtcbiAgdmVyc2VPYmplY3RzPzogVmVyc2VPYmplY3RzVHlwZSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJzZVJlZmVyZW5jZVR5cGUge1xuICB2ZXJzZURhdGE6IFZlcnNlc1R5cGVcbn1cblxuZXhwb3J0IHR5cGUgVmVyc2VSZWZlcmVuY2VzVHlwZSA9IFZlcnNlUmVmZXJlbmNlVHlwZVtdO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXB0ZXJPYmplY3RzVHlwZSB7XG4gIFt2ZXJzZTogc3RyaW5nXTogVmVyc2VzVHlwZXxzdHJpbmcgLy8gY291bGQgYmUgZWl0aGVyIHBhcnNlZCB2ZXJzZSBkYXRhIG9yIHJhdyB2ZXJzZSB0ZXh0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyVHlwZSB7IC8vIHBhcnNlZCBVU0ZNIGNvbnRlbnQgdGhhdCBjb21lcyBiZWZvcmUgdGhlIGZpcnN0IGNoYXB0ZXIgdGFnXG4gIGNvbnRlbnQ6IHN0cmluZywgLy8gdGV4dCBhZnRlciB0aGUgZmlyc3QgVVNGTSB0YWdcbiAgdGFnOiBzdHJpbmcgLy8gVVNGTSB0YWdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb29rT2JqZWN0c1R5cGUgeyAvLyBwYXJzZWQgVVNGTSBjb250ZW50IGZvciBhIGJvb2sgb2YgdGhlIGJpYmxlXG4gIGJvb2tJZD86IHN0cmluZzsgLy8gc2hvcnQgZm9ybSBpZGVudGlmaWVyIGZvciBib29rIG9mIHRoZSBiaWJsZSBzdWNoIGFzIGBtcmtgXG4gIGNoYXB0ZXJzOiB7IC8vIHRoZSBjaGFwdGVyIGNvbnRlbnQgZm91bmQgaW4gdGhlIFVTRk0gaW5kZXhlZCBieSB0aGUgY2hhcHRlciBpZGVudGlmaWVyXG4gICAgW2NoYXB0ZXI6IHN0cmluZ106IENoYXB0ZXJPYmplY3RzVHlwZVxuICB9LFxuICBoZWFkZXJzOiBIZWFkZXJUeXBlW10sXG4gIGxhbmd1YWdlSWQ/OiBzdHJpbmcgLy8gc2hvcnQgZm9ybSBpZGVudGlmaWVyIGZvciBsYW5ndWFnZSBvZiB0aGUgYm9vayBzdWNoIGFzIGBlbmBcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3JpcHR1cmVDb25maWcge1xuICByZWZlcmVuY2U6IFNjcmlwdHVyZVJlZmVyZW5jZTtcbiAgcmVzb3VyY2U6IFNjcmlwdHVyZVJlc291cmNlO1xuICByZXNvdXJjZUxpbms6IHN0cmluZztcbiAgY29uZmlnOiBTZXJ2ZXJDb25maWc7XG4gIGRpc2FibGVXb3JkUG9wb3Zlcj86IGJvb2xlYW47XG4gIHJlbG9hZFJlc291cmNlOiBGdW5jdGlvbjtcbiAgdmVyc2VzRm9yUmVmOiB7IGNoYXB0ZXI6IHN0cmluZywgdmVyc2U6IHN0cmluZywgZGF0YTogb2JqZWN0IH1bXTtcbiAgZmV0Y2hSZXNwb25zZTogeyBkYXRhOiB7c2hhOiBzdHJpbmd9IH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb29rRmV0Y2hQYXJhbXMge1xuICBjb25maWc6IHt9IHwgU2VydmVyQ29uZmlnO1xuICAvLyBUT0RPOiBkb2N1bWVudCBhbGwgdGhlIGZvcm1hdHMgc3VwcG9ydGVkIGluXG4gIC8vIHNlZSBwYXJzZVJlc291cmNlTGluayBpbiBzY3JpcHR1cmUtcmVzb3VyY2VzLXJjbCBmb3Igb3RoZXIgZm9ybWF0cyBzdXBwb3J0ZWQsXG4gIC8vIGJ1dCBtb3N0IGNvbW1vbiBpcyA8b3duZXI+LzxsYW5ndWFnZT4vPHJlc291cmNlSWQ+LzxicmFuY2g+Lzxib29rSWQ+IChlLmcuIHJ1X2dsL3J1L3Jsb2IvbWFzdGVyL3RpdClcbiAgcmVzb3VyY2VMaW5rPzogc3RyaW5nO1xuICAvLyBwYXJhbWV0ZXJzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzb3VyY2VMaW5rIGlmIGl0J3Mgbm90IHByZXNlbnRcbiAgcmVzb3VyY2U/OiBTY3JpcHR1cmVSZXNvdXJjZTtcbiAgcmVmZXJlbmNlPzogU2NyaXB0dXJlUmVmZXJlbmNlO1xufVxuIl0sIm1hcHBpbmdzIjoiIn0=
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0dXJlUmVmZXJlbmNlVHlwZSB7XG4gIGJvb2tJZDogc3RyaW5nO1xuICBjaGFwdGVyOiBudW1iZXI7XG4gIHZlcnNlOiBudW1iZXJ8c3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlckNvbmZpZ1R5cGUge1xuICBzZXJ2ZXI6IHN0cmluZztcbiAgY2FjaGU6IHtcbiAgICBtYXhBZ2U6IG51bWJlcjtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcmlwdHVyZVJlc291cmNlVHlwZSB7XG4gIGxhbmd1YWdlSWQ6IHN0cmluZztcbiAgcHJvamVjdElkOiBzdHJpbmc7XG4gIG93bmVyOiBzdHJpbmc7XG4gIGJyYW5jaDogc3RyaW5nO1xuICByZWY6IHN0cmluZztcbn1cblxuLy8gdGhlIHR5cGVzIG9mIGNvbnRlbnQgaW4gdGhlIFVTRk1cbi8vICAgdGV4dCAtIHJhdyBub24td29yZCB0ZXh0IHRvIGJlIGRpc3BsYXllZCBzdWNoIGFzIHdoaXRlIHNwYWNlLCBudW1iZXJzIGFuZCBwdW5jdHVhdGlvblxuLy8gICB3b3JkIC0gYSBzaW5nbGUgYmlibGUgd29yZCB0byBiZSBkaXNwbGF5ZWRcbi8vICAgcGFyYWdyYXBoIC0gYSBwYXJhZ3JhcGggaW4gdGhlIGJpYmxlIC0gLy9UT0RPOiBjaGVjayBpZiB0aGlzIGlzIHRoaXMgZXZlbiB1c2VkIGFueW1vcmVcbi8vICAgbWlsZXN0b25lIC0gdGhpcyBpcyBhIFVTRk0gbWlsZXN0b25lIChpLmUuIGEgc3BhbiB0aGF0IGNvbnRhaW5zIFVTRk0gY29udGVudCBzdWNoIGFzIGFuIGFsaWdubWVudClcbmV4cG9ydCB0eXBlIFZlcnNlT2JqZWN0VGFnVHlwZSA9ICd0ZXh0J3wnd29yZCd8J3BhcmFncmFwaCd8J21pbGVzdG9uZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyc2VPYmplY3RUeXBlIHsgLy8gcGFyc2VkIHJlcHJlc2VudGF0aW9uIG9mIFVTRk0gY29udGVudFxuICBjaGlsZHJlbj86IFZlcnNlT2JqZWN0VHlwZVtdOyAvLyBsaXN0IG9mIHZlcnNlT2JqZWN0cyB0aGF0IGFyZSBjb250YWluZWQgd2l0aGluIGEgbWlsZXN0b25lLiBJbiB0aGUgY2FzZSBvZiBhbGlnbm1lbnQgKFVTRk0gdGFnIGB6YWxuYCkgdGhpcyB3b3VsZCBjb250YWluIHRoZSB0cmFuc2xhdGVkIHdvcmRzIGFsaWduZWQgdG8gY29udGVudCBmaWVsZClcbiAgY29udGVudD86IHN0cmluZzsgLy8gbm9uLWRpc3BsYXllZCBjb250ZW50IHR5cGljYWxseSBmb3IgbWlsZXN0b25lcyAoZS5nLiBpbiBhbGlnbm1lbnRzIGNvdWxkIGJlIHVzZWQgdG8gZGVub3RlIHRoZSBvcmlnaW5hbCBsYW5ndWFnZSB3b3JkIHRoZSBjaGlsZHJlbiBhcmUgYWxpZ25lZCB0bylcbiAgZW5kVGFnPyA6IHN0cmluZzsgLy8gaW4gdGhlIGNhc2Ugb2YgYSBtaWxlc3RvbmUsIHRoaXMgY29udGFpbnMgdGhlIHN0cmluZyB0aGF0IGluZGljYXRlcyB0aGUgZW5kIG9mIGFuIGFsaWdubWVudFxuICBsZW1tYT86IHN0cmluZzsgLy8gaW4gdGhlIGNhc2Ugb2Ygb3JpZ2luYWwgbGFuZ3VhZ2VzLCB0aGlzIGlzIHRoZSByb290IG9mIGEgd29yZFxuICBtb3JwaD86IHN0cmluZzsgLy8gaW4gdGhlIGNhc2Ugb2Ygb3JpZ2luYWwgbGFuZ3VhZ2VzLCB0aGlzIGlzIHRoZSBtb3JwaG9sb2d5IG9mIGEgd29yZCAoZS5nLiBcIkdyLEQsLCwsLCwsLCxcIilcbiAgbmV4dENoYXI/OiBcIlxcblwiLCAvLyB3aGl0ZSBzcGFjZSB0aGF0IGZvbGxvd3MgdGhpcyB2ZXJzZU9iamVjdCAtIHR5cGljYWxseSBvbmUgb3IgbW9yZSBzcGFjZXMvbmV3bGluZXNcbiAgb2NjdXJyZW5jZT86IG51bWJlcnxzdHJpbmc7IC8vIFRvdGFsIG9jY3VycmVuY2VzIGZvciB0aGUgd29yZCBpbiB0aGUgdmVyc2UuXG4gIG9jY3VycmVuY2VzPzogbnVtYmVyfHN0cmluZzsgLy8gU3BlY2lmaWMgb2NjdXJyZW5jZSBvZiB0aGUgd29yZCBpbiB0aGUgdmVyc2UuXG4gIHN0cm9uZz86IHN0cmluZzsgLy8gIFRoZSB0ZXh0IHRoYXQgdXNlZCBmb3IgcmVuZGVyaW5nIG9uIHRoZSBzY3JlZW4uIChlLmcuIFwiRzE4OTkwXCIpXG4gIHRhZz86IHN0cmluZzsgLy8gRGVub3RlcyB0aGUgVVNGTSB0YWcgb2YgdGhlIHZlcnNlT2JqZWN0IChzZWUgdGhlIFVTRk0gc3BlYyBmb3IgbW9yZSBpbmZvcm1hdGlvbilcbiAgdGV4dD86IHN0cmluZzsgLy8gIFRoZSB0ZXh0IHRoYXQgdXNlZCBmb3IgZGlzcGxheSBvbiB0aGUgc2NyZWVuLlxuICB0dz86IHN0cmluZzsgLy8gdHJhbnNsYXRpb25Xb3JkIGlkZW50aWZpZXIgc3VjaCBhcyBcInJjOi8vKi90dy9kaWN0L2JpYmxlL290aGVyL2JpYmxpY2FsdGltZXllYXJcIlxuICB0eXBlOiBWZXJzZU9iamVjdFRhZ1R5cGU7IC8vIERlbm90ZXMgdGhlIGNhdGVnb3J5IG9mIGNvbnRlbnQgdGhlIHZlcnNlT2JqZWN0IGhvbGRzXG59XG5cbmV4cG9ydCB0eXBlIFZlcnNlT2JqZWN0c1R5cGUgPSBWZXJzZU9iamVjdFR5cGVbXTtcblxuZXhwb3J0IGludGVyZmFjZSBWZXJzZXNUeXBlIHtcbiAgdmVyc2VPYmplY3RzPzogVmVyc2VPYmplY3RzVHlwZSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJzZVJlZmVyZW5jZVR5cGUge1xuICB2ZXJzZURhdGE6IFZlcnNlc1R5cGVcbn1cblxuZXhwb3J0IHR5cGUgVmVyc2VSZWZlcmVuY2VzVHlwZSA9IFZlcnNlUmVmZXJlbmNlVHlwZVtdO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXB0ZXJPYmplY3RzVHlwZSB7XG4gIFt2ZXJzZTogc3RyaW5nXTogVmVyc2VzVHlwZXxzdHJpbmcgLy8gY291bGQgYmUgZWl0aGVyIHBhcnNlZCB2ZXJzZSBkYXRhIG9yIHJhdyB2ZXJzZSB0ZXh0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyVHlwZSB7IC8vIHBhcnNlZCBVU0ZNIGNvbnRlbnQgdGhhdCBjb21lcyBiZWZvcmUgdGhlIGZpcnN0IGNoYXB0ZXIgdGFnXG4gIGNvbnRlbnQ6IHN0cmluZywgLy8gdGV4dCBhZnRlciB0aGUgZmlyc3QgVVNGTSB0YWdcbiAgdGFnOiBzdHJpbmcgLy8gVVNGTSB0YWdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb29rT2JqZWN0c1R5cGUgeyAvLyBwYXJzZWQgVVNGTSBjb250ZW50IGZvciBhIGJvb2sgb2YgdGhlIGJpYmxlXG4gIGJvb2tJZD86IHN0cmluZzsgLy8gc2hvcnQgZm9ybSBpZGVudGlmaWVyIGZvciBib29rIG9mIHRoZSBiaWJsZSBzdWNoIGFzIGBtcmtgXG4gIGNoYXB0ZXJzOiB7IC8vIHRoZSBjaGFwdGVyIGNvbnRlbnQgZm91bmQgaW4gdGhlIFVTRk0gaW5kZXhlZCBieSB0aGUgY2hhcHRlciBpZGVudGlmaWVyXG4gICAgW2NoYXB0ZXI6IHN0cmluZ106IENoYXB0ZXJPYmplY3RzVHlwZVxuICB9LFxuICBoZWFkZXJzOiBIZWFkZXJUeXBlW10sXG4gIGxhbmd1YWdlSWQ/OiBzdHJpbmcgLy8gc2hvcnQgZm9ybSBpZGVudGlmaWVyIGZvciBsYW5ndWFnZSBvZiB0aGUgYm9vayBzdWNoIGFzIGBlbmBcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3JpcHR1cmVDb25maWcge1xuICByZWZlcmVuY2U6IFNjcmlwdHVyZVJlZmVyZW5jZVR5cGU7XG4gIHJlc291cmNlOiBTY3JpcHR1cmVSZXNvdXJjZVR5cGU7XG4gIHJlc291cmNlTGluazogc3RyaW5nO1xuICBjb25maWc6IFNlcnZlckNvbmZpZ1R5cGU7XG4gIGRpc2FibGVXb3JkUG9wb3Zlcj86IGJvb2xlYW47XG4gIHJlbG9hZFJlc291cmNlOiBGdW5jdGlvbjtcbiAgdmVyc2VzRm9yUmVmOiB7IGNoYXB0ZXI6IHN0cmluZywgdmVyc2U6IHN0cmluZywgZGF0YTogb2JqZWN0IH1bXTtcbiAgZmV0Y2hSZXNwb25zZTogeyBkYXRhOiB7c2hhOiBzdHJpbmd9IH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb29rRmV0Y2hQYXJhbXMge1xuICBjb25maWc6IHt9IHwgU2VydmVyQ29uZmlnVHlwZTtcbiAgLy8gVE9ETzogZG9jdW1lbnQgYWxsIHRoZSBmb3JtYXRzIHN1cHBvcnRlZCBpblxuICAvLyBzZWUgcGFyc2VSZXNvdXJjZUxpbmsgaW4gc2NyaXB0dXJlLXJlc291cmNlcy1yY2wgZm9yIG90aGVyIGZvcm1hdHMgc3VwcG9ydGVkLFxuICAvLyBidXQgbW9zdCBjb21tb24gaXMgPG93bmVyPi88bGFuZ3VhZ2U+LzxyZXNvdXJjZUlkPi88YnJhbmNoPi88Ym9va0lkPiAoZS5nLiBydV9nbC9ydS9ybG9iL21hc3Rlci90aXQpXG4gIHJlc291cmNlTGluaz86IHN0cmluZztcbiAgLy8gcGFyYW1ldGVycyB1c2VkIHRvIGdlbmVyYXRlIHJlc291cmNlTGluayBpZiBpdCdzIG5vdCBwcmVzZW50XG4gIHJlc291cmNlPzogU2NyaXB0dXJlUmVzb3VyY2VUeXBlO1xuICByZWZlcmVuY2U/OiBTY3JpcHR1cmVSZWZlcmVuY2VUeXBlO1xufVxuIl0sIm1hcHBpbmdzIjoiIn0=
@@ -66,7 +66,7 @@ import "core-js/modules/es.array.reverse.js";
66
66
  import { CONTENT_NOT_FOUND_ERROR, INVALID_MANIFEST_ERROR, LOADING_STATE, MANIFEST_NOT_LOADED_ERROR, SCRIPTURE_NOT_LOADED_ERROR } from 'translation-helps-rcl';
67
67
  import { core } from 'scripture-resources-rcl';
68
68
  import usfmjs from 'usfm-js';
69
- import { BookFetchParams, ScriptureReference, ScriptureResource, ServerConfig, VerseObjectsType } from '../types';
69
+ import { BookFetchParams, ScriptureReferenceType, ScriptureResourceType, ServerConfigType, VerseObjectsType } from '../types';
70
70
  import { BOOK_NOT_FOUND_ERROR_MSG, LOADING_RESOURCE, MANIFEST_INVALID_ERROR_MSG, MANIFEST_NOT_FOUND_ERROR_MSG, NT_ORIG_LANG, NT_ORIG_LANG_BIBLE, ORIGINAL_SOURCE, OT_ORIG_LANG, OT_ORIG_LANG_BIBLE, SCRIPTURE_NOT_FOUND_ERROR_MSG, TARGET_LITERAL, TARGET_SIMPLIFIED } from './common';
71
71
  import { delay } from './delay';
72
72
  export var DISABLE_WORD_POPOVER = true; // disable word popover for every scripture pane but original languages
@@ -521,9 +521,9 @@ export function fetchBibleBookCore(_x) {
521
521
  /**
522
522
  * do a fetch of manifest and book of the bible specified in fetchParams
523
523
  * @param {string} server - server to access
524
- * @param {ServerConfig} config
525
- * @param {ScriptureResource} resource
526
- * @param {ScriptureReference} reference
524
+ * @param {ServerConfigType} config
525
+ * @param {ScriptureResourceType} resource
526
+ * @param {ScriptureReferenceType} reference
527
527
  */
528
528
  function _fetchBibleBookCore() {
529
529
  _fetchBibleBookCore = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fetchParams) {
@@ -610,7 +610,7 @@ function _fetchBibleBook() {
610
610
  ref_ = (resource === null || resource === void 0 ? void 0 : resource.branch) || (resource === null || resource === void 0 ? void 0 : resource.ref);
611
611
  resourceLink = getResourceLink(_objectSpread(_objectSpread({}, resource), {}, {
612
612
  resourceId: (resource === null || resource === void 0 ? void 0 : resource.projectId) || '',
613
- projectId: (reference === null || reference === void 0 ? void 0 : reference.projectId) || '',
613
+ bookId: (reference === null || reference === void 0 ? void 0 : reference.bookId) || '',
614
614
  ref: ref_
615
615
  }));
616
616
  fetchParams = {
@@ -634,4 +634,4 @@ function _fetchBibleBook() {
634
634
  }));
635
635
  return _fetchBibleBook.apply(this, arguments);
636
636
  }
637
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJpdGVyIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsInN0ZXAiLCJfZTIiLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwib2JqIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwidG9QcmltaXRpdmUiLCJyZXMiLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJ0b1N0cmluZyIsInRlc3QiLCJsZW4iLCJhcnIyIiwiQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IiLCJJTlZBTElEX01BTklGRVNUX0VSUk9SIiwiTE9BRElOR19TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUiIsImNvcmUiLCJ1c2ZtanMiLCJCb29rRmV0Y2hQYXJhbXMiLCJTY3JpcHR1cmVSZWZlcmVuY2UiLCJTY3JpcHR1cmVSZXNvdXJjZSIsIlNlcnZlckNvbmZpZyIsIlZlcnNlT2JqZWN0c1R5cGUiLCJCT09LX05PVF9GT1VORF9FUlJPUl9NU0ciLCJMT0FESU5HX1JFU09VUkNFIiwiTUFOSUZFU1RfSU5WQUxJRF9FUlJPUl9NU0ciLCJNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHIiwiTlRfT1JJR19MQU5HIiwiTlRfT1JJR19MQU5HX0JJQkxFIiwiT1JJR0lOQUxfU09VUkNFIiwiT1RfT1JJR19MQU5HIiwiT1RfT1JJR19MQU5HX0JJQkxFIiwiU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0ciLCJUQVJHRVRfTElURVJBTCIsIlRBUkdFVF9TSU1QTElGSUVEIiwiZGVsYXkiLCJESVNBQkxFX1dPUkRfUE9QT1ZFUiIsImdldFJlc291cmNlTGluayIsInNjcmlwdHVyZSIsInJlZiIsImJyYW5jaCIsImNvbmNhdCIsIm93bmVyIiwibGFuZ3VhZ2VJZCIsInJlc291cmNlSWQiLCJwYXJzZVJlc291cmNlTGluayIsInJlc291cmNlTGluayIsIl9yZXNvdXJjZUxpbmskc3BsaXQiLCJzcGxpdCIsIl9yZXNvdXJjZUxpbmskc3BsaXQyIiwiZ2V0U2NyaXB0dXJlT2JqZWN0IiwiX3JlZiIsInRpdGxlIiwic2VydmVyIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiZ2V0VmVyc2VEYXRhRnJvbVNjcmlwQ29uZmlnIiwic2NyaXB0dXJlQ29uZmlnIiwidmVyc2VOdW0iLCJfc2NyaXB0dXJlQ29uZmlnJHZlcnMiLCJ2ZXJzZXNGb3JSZWYiLCJmaW5kIiwidmVyc2VSZWYiLCJ2ZXJzZSIsImlzT3JpZ2luYWxCaWJsZSIsImlzT3JpZyIsImNsZWFudXBBY2NvdW50U2V0dGluZ3MiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRPd25lciIsImN1cnJlbnRMYW5ndWFnZUlkIiwic3BsaXRVcmwiLCJvcmlnaW5hbFJlcG9VcmwiLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJib29rSWQiLCJzY3JpcHR1cmVTZXR0aW5nc18iLCJpc05ld1Rlc3RhbWVudCIsIl9zcGxpdFVybCIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsIl9yZWYyIiwibGFiZWwiLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJpbmRleCIsImZpbmRJdGVtSW5kZXhCeUtleSIsInNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwidmFsaWRhdGlvbkNCIiwiaXRlbSIsIm5ld0l0ZW0iLCJhZGRJdGVtVG9IaXN0b3J5IiwiZ2V0SXRlbUJ5VGl0bGUiLCJkZWxldGVJdGVtIiwiZGVsZXRlSW5kZXgiLCJyZW1vdmVJdGVtQnlJbmRleCIsImdldFJlcG9VcmwiLCJpc05UIiwicmVwb1VybCIsIl9yZXNvdXJjZUxpbmskc3BsaXQzIiwiX3Jlc291cmNlTGluayRzcGxpdDQiLCJnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsiLCJlcnJvckNvZGUiLCJlcnJvck1zZyIsInZhbGlkYXRlRGNzVXJsIiwidmFsaWRSZXBvUGF0aCIsInZhbGlkVXJsIiwicGFydHMiLCJfcGFydHMiLCJwcm90b2NvbCIsImhvc3QiLCJ1c2VyIiwicmVwbyIsImhvc3RQYXJ0cyIsIl9pdGVyYXRvciIsIl9zdGVwIiwicGFydCIsIl9yZXBvJHNwbGl0IiwiX3JlcG8kc3BsaXQyIiwicHJvamVjdElkIiwiX3VudXNlZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIiwiZml4T2NjdXJyZW5jZSIsIm9jY3VycmVuY2UiLCJwYXJzZUludCIsImNsZWFudXBWZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHNfIiwidm8iLCJvY2N1cnJlbmNlcyIsIndvcmQiLCJjaGlsZHJlbiIsIm5ld1ZvIiwiZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lIiwiZmlsZW5hbWUiLCJfZmlsZW5hbWUkbWF0Y2giLCJyZWdleCIsImJvb2tOYW1lIiwibWF0Y2giLCJnZXRCaWJsZUlkRnJvbVVzZm1Db250ZW50SUQiLCJiaWJsZVVzZm0iLCJpZEhlYWRlciIsInBvc0lkIiwiaW5kZXhPZiIsImlkU3RhcnQiLCJoZWFkZXJJZCIsInN1YnN0cmluZyIsInRyaW0iLCJoZWFkZXJCb29rSUQiLCJfaGVhZGVyQm9va0lEIiwidmVyc2VPYmplY3RzSGF2ZVdvcmRzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImZvdW5kV29yZHMiLCJnZXRBbGlnbm1lbnRzIiwiYWxpZ25tZW50c0xpc3QiLCJ0YWciLCJhbGlnbm1lbnQiLCJlbmRUYWciLCJfYWxpZ25tZW50IiwiZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX3giLCJfZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX2NhbGxlZSIsImZldGNoUGFyYW1zIiwiX3Jlc291cmNlJHByb2plY3QiLCJfcmVzb3VyY2UkcHJvamVjdDIiLCJyZXNvdXJjZSIsInJlc3BvbnNlIiwiYm9va09iamVjdHMiLCJfZXJyb3JNc2ciLCJfcmVmMyIsInNoYSIsIl9lcnJvck1zZzIiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwibWFuaWZlc3QiLCJwcm9qZWN0IiwiZmlsZSIsIndhcm4iLCJyZXNvdXJjZUVycm9yIiwiZ2V0UmVzcG9uc2VEYXRhIiwidG9KU09OIiwiZGF0YSIsInQwIiwiZmV0Y2hCaWJsZUJvb2siLCJfeDIiLCJfeDMiLCJfeDQiLCJfeDUiLCJfZmV0Y2hCaWJsZUJvb2siLCJfY2FsbGVlMiIsImNvbmZpZyIsInJlZmVyZW5jZSIsInJlZl8iLCJyZXN1bHRzIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SLFxuICBJTlZBTElEX01BTklGRVNUX0VSUk9SLFxuICBMT0FESU5HX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxuICBTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHVzZm1qcyBmcm9tICd1c2ZtLWpzJ1xuaW1wb3J0IHtcbiAgQm9va0ZldGNoUGFyYW1zLFxuICBTY3JpcHR1cmVSZWZlcmVuY2UsXG4gIFNjcmlwdHVyZVJlc291cmNlLFxuICBTZXJ2ZXJDb25maWcsXG4gIFZlcnNlT2JqZWN0c1R5cGUsXG59IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHtcbiAgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBMT0FESU5HX1JFU09VUkNFLFxuICBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyxcbiAgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyxcbiAgTlRfT1JJR19MQU5HLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBUQVJHRVRfTElURVJBTCxcbiAgVEFSR0VUX1NJTVBMSUZJRUQsXG59IGZyb20gJy4vY29tbW9uJ1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICcuL2RlbGF5J1xuXG5leHBvcnQgY29uc3QgRElTQUJMRV9XT1JEX1BPUE9WRVIgPSB0cnVlIC8vIGRpc2FibGUgd29yZCBwb3BvdmVyIGZvciBldmVyeSBzY3JpcHR1cmUgcGFuZSBidXQgb3JpZ2luYWwgbGFuZ3VhZ2VzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlKSB7XG4gIGNvbnN0IHJlZiA9IHNjcmlwdHVyZS5yZWYgfHwgc2NyaXB0dXJlLmJyYW5jaFxuICByZXR1cm4gYCR7c2NyaXB0dXJlLm93bmVyfS8ke3NjcmlwdHVyZS5sYW5ndWFnZUlkfS8ke3NjcmlwdHVyZS5yZXNvdXJjZUlkfS8ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlc291cmNlTGluayhyZXNvdXJjZUxpbmspIHtcbiAgY29uc3QgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkLCByZWZdID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcbiAgcmV0dXJuIHtcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgcmVmLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICB0aXRsZSxcbiAgc2VydmVyLFxuICBvd25lcixcbiAgcmVmLFxuICBsYW5ndWFnZUlkLFxuICByZXNvdXJjZUlkLFxuICByZXNvdXJjZUxpbmssXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxufSkge1xuICBjb25zdCBzY3JpcHR1cmUgPSB7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICByZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICByZXNvdXJjZUxpbmssXG4gIH1cblxuICBpZiAoIXJlc291cmNlTGluaykge1xuICAgIHNjcmlwdHVyZS5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgICAgb3duZXIsXG4gICAgICByZWYsXG4gICAgICBsYW5ndWFnZUlkLFxuICAgICAgcmVzb3VyY2VJZCxcbiAgICB9KVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVcbn1cblxuLyoqXG4gKiByZXR1cm4gdmVyc2UgZGF0YSBnaXZlbiBhIHNjcmlwdHVyZSBjb25maWcgYW5kIHZlcnNlIG51bWJlclxuICogQHBhcmFtIHNjcmlwdHVyZUNvbmZpZ1xuICogQHBhcmFtIHZlcnNlTnVtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzZURhdGFGcm9tU2NyaXBDb25maWcoc2NyaXB0dXJlQ29uZmlnLCB2ZXJzZU51bSkge1xuICByZXR1cm4gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWY/LmZpbmQoXG4gICAgdmVyc2VSZWYgPT4gdmVyc2VSZWYudmVyc2UgPT09IHZlcnNlTnVtXG4gIClcbn1cblxuLyoqXG4gKiByZXR1cm4gdHJ1ZSBpZiByZXNvdXJjZSBpcyBhbiBvcmlnaW5hbCBsYW5ndWFnZSBiaWJsZVxuICogQHBhcmFtIHJlc291cmNlSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3JpZ2luYWxCaWJsZShyZXNvdXJjZUlkKSB7XG4gIGNvbnN0IGlzT3JpZyA9ICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSlcbiAgcmV0dXJuIGlzT3JpZ1xufVxuXG4vKipcbiAqIG1ha2Ugc3VyZSBzY3JpcHR1cmVTZXR0aW5ncyBhcmUgdXAgdG8gZGF0ZSB3aXRoIGN1cnJlbnQgb3duZXIgYW5kIGxhbmd1YWdlXG4gKiBAcGFyYW0ge29iamVjdH0gc2NyaXB0dXJlU2V0dGluZ3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3M6IGFueSwgY3VycmVudE93bmVyOiBhbnksIGN1cnJlbnRMYW5ndWFnZUlkOiBhbnkpIHtcbiAgaWYgKGN1cnJlbnRPd25lciAmJiAoY3VycmVudE93bmVyICE9PSBzY3JpcHR1cmVTZXR0aW5ncy5vd25lcikpIHsgLy8gaWYgb3duZXIgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBjdXJyZW50T3duZXJcbiAgfVxuXG4gIGlmIChjdXJyZW50TGFuZ3VhZ2VJZCAmJiAoY3VycmVudExhbmd1YWdlSWQgIT09IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQpKSB7IC8vIGlmIGxhbmd1YWdlIGNoYW5nZWQsIHVwZGF0ZSBzY3JpcHR1cmVTZXR0aW5nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBjdXJyZW50TGFuZ3VhZ2VJZFxuICB9XG59XG5cbi8qKlxuICogc2VwYXJhdGUgVVJMIGludG8gc2VydmVyIGFuZCByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpIHtcbiAgaWYgKG9yaWdpbmFsUmVwb1VybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3JpZ2luYWxSZXBvVXJsKVxuICAgIGNvbnN0IHNlcnZlciA9IHVybC5vcmlnaW5cbiAgICBjb25zdCByZXNvdXJjZUxpbmsgPSB1cmwucGF0aG5hbWUgKyAodXJsLnNlYXJjaCB8fCAnJylcbiAgICByZXR1cm4geyBzZXJ2ZXIsIHJlc291cmNlTGluayB9XG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogZ2V0IHRoZSBzY3JpcHR1cmUgc2V0dGluZ3MgbmVlZGVkIGZvciBmZXRjaCAtIGZvciBPcmlnTGFuZywgVUxULCBHTFQgd2lsbCByZXBsYWNlIG93bmVyIGFuZCBsYW5ndWFnZUlkIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc19cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdUZXN0YW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmwgLSBvcHRpb25hbCBwYXRoIHRvIHJlcG8gZm9yIG9yaWdpbmFsIGxhbmd1YWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKFxuICBib29rSWQsIHNjcmlwdHVyZVNldHRpbmdzXywgaXNOZXdUZXN0YW1lbnQsXG4gIG9yaWdpbmFsUmVwb1VybD1udWxsLFxuICBjdXJyZW50TGFuZ3VhZ2VJZD1udWxsLFxuICBjdXJyZW50T3duZXI9bnVsbCxcbikge1xuICBjb25zdCBzY3JpcHR1cmVTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlU2V0dGluZ3NfIH1cbiAgc2NyaXB0dXJlU2V0dGluZ3MuZGlzYWJsZVdvcmRQb3BvdmVyID0gRElTQUJMRV9XT1JEX1BPUE9WRVJcbiAgY29uc3QgcmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzXy5yZXNvdXJjZUlkXG5cbiAgaWYgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkge1xuICAgIC8vIHNlbGVjdCBvcmlnaW5hbCBsYW5ndWFnZSBCaWJsZSBiYXNlZCBvbiB3aGljaCB0ZXN0YW1lbnQgdGhlIGJvb2sgYmVsb25nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBpc05ld1Rlc3RhbWVudCA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBpc05ld1Rlc3RhbWVudFxuICAgICAgPyBOVF9PUklHX0xBTkdfQklCTEVcbiAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG5cbiAgICBpZiAoc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyKSB7XG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IHNjcmlwdHVyZVNldHRpbmdzLm9yaWdpbmFsTGFuZ3VhZ2VPd25lclxuICAgIH1cblxuICAgIGlmIChvcmlnaW5hbFJlcG9VcmwpIHsgLy8gdXNlIHRoaXMgdXJsIGlmIGRlZmluZWRcbiAgICAgIGNvbnN0IHsgc2VydmVyLCByZXNvdXJjZUxpbmsgfSA9IHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybClcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnNlcnZlciA9IHNlcnZlclxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rXG4gICAgfSBlbHNlIHsgLy8gZmFsbCBiYWNrIHRvIGFwcCBkZWZhdWx0c1xuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICAgIH1cbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBmYWxzZVxuICB9IGVsc2UgaWYgKHJlc291cmNlSWQgPT09IFRBUkdFVF9MSVRFUkFMKSB7XG4gICAgY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5ncywgY3VycmVudE93bmVyLCBjdXJyZW50TGFuZ3VhZ2VJZClcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9PT0gJ2VuJyA/ICd1bHQnIDogJ2dsdCdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX1NJTVBMSUZJRUQpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VzdCcgOiAnZ3N0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfVxuICByZXR1cm4gc2NyaXB0dXJlU2V0dGluZ3Ncbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyh7XG4gIGxhYmVsLFxuICByZXNvdXJjZUxpbmssXG4gIHNldFNjcmlwdHVyZSxcbiAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG59KSB7XG4gIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICBsZXQgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3Jlc291cmNlTGluaycsIHJlc291cmNlTGluaylcblxuICBjb25zdCBzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyA9IHtcbiAgICBsYWJlbCwgLy8gbGFiZWwgZm9yIGNvbWJvYm94XG4gICAgb3B0aW9uczogaGlzdG9yeSxcbiAgICBjdXJyZW50OiBpbmRleCxcbiAgICBhbGxvd1VzZXJJbnB1dDogdHJ1ZSxcbiAgICBvbkNoYW5nZTogKHRpdGxlLCBpbmRleCwgdmFsaWRhdGlvbkNCPW51bGwpID0+IHtcbiAgICAgIGxldCBpdGVtXG5cbiAgICAgIGlmICgoaW5kZXggPCAwKSAmJiB0aXRsZSkge1xuICAgICAgICBjb25zdCBuZXdJdGVtID0ge1xuICAgICAgICAgIHVybDogdGl0bGUsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KG5ld0l0ZW0pXG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBpdGVtID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClbaW5kZXhdXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRJdGVtQnlUaXRsZSh0aXRsZSlcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgc2V0U2NyaXB0dXJlKGl0ZW0sIHZhbGlkYXRpb25DQilcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlbGV0ZUl0ZW06IHRpdGxlID0+IHtcbiAgICAgIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICAgICAgY29uc3QgZGVsZXRlSW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3RpdGxlJywgdGl0bGUpXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVJdGVtQnlJbmRleChkZWxldGVJbmRleClcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXBvVXJsKHJlc291cmNlTGluazogc3RyaW5nLCBzZXJ2ZXI6IHN0cmluZywgaXNOVDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGxldCByZXBvVXJsXG5cbiAgdHJ5IHtcbiAgICBsZXQgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkXSA9IHJlc291cmNlTGluay5zcGxpdCgnLycpXG5cbiAgICBzd2l0Y2ggKHJlc291cmNlSWQpIHtcbiAgICBjYXNlIE9SSUdJTkFMX1NPVVJDRTpcbiAgICAgIGxhbmd1YWdlSWQgPSBpc05UID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgICByZXNvdXJjZUlkID0gaXNOVFxuICAgICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgICA6IE9UX09SSUdfTEFOR19CSUJMRVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX0xJVEVSQUw6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VsdCcgOiAnZ2x0J1xuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX1NJTVBMSUZJRUQ6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VzdCcgOiAnZ3N0J1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVwb1VybCA9IGAke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cmVzb3VyY2VJZH1gXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyByZXNvdXJjZUxpbmsgd2FzIGludmFsaWRcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGAke3NlcnZlciB8fCAnJ30vJHtyZXBvVXJsfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhcbiAgcmVzb3VyY2VMaW5rOiBzdHJpbmcsXG4gIHNlcnZlcjogc3RyaW5nLFxuICBlcnJvckNvZGU6IHN0cmluZyxcbiAgaXNOVDogYm9vbGVhbik6IHN0cmluZ1xue1xuICBjb25zdCByZXBvVXJsID0gZ2V0UmVwb1VybChyZXNvdXJjZUxpbmssIHNlcnZlciwgaXNOVClcbiAgY29uc3QgZXJyb3JNc2cgPSBlcnJvckNvZGUgKyByZXBvVXJsXG4gIHJldHVybiBlcnJvck1zZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEY3NVcmwodXJsKSB7XG4gIGxldCB2YWxpZFJlcG9QYXRoID0gZmFsc2VcbiAgbGV0IHZhbGlkVXJsID0gZmFsc2VcblxuICB0cnkge1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCcvJylcbiAgICBjb25zdCBbcHJvdG9jb2wsICwgaG9zdCwgdXNlciwgcmVwb10gPSBwYXJ0c1xuICAgIHZhbGlkVXJsID0gKHByb3RvY29sID09PSAnaHR0cHM6JylcbiAgICBjb25zdCBob3N0UGFydHMgPSBob3N0ID8gaG9zdC5zcGxpdCgnLicpIDogW11cblxuICAgIGlmIChob3N0UGFydHMubGVuZ3RoID49IDIpIHtcbiAgICAgIGZvciAobGV0IHBhcnQgb2YgaG9zdFBhcnRzKSB7XG4gICAgICAgIGlmICghcGFydCkge1xuICAgICAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoIHByb3RvY29sICYmIGhvc3QgJiYgdXNlciAmJiByZXBvICkge1xuICAgICAgY29uc3QgW2xhbmd1YWdlSWQsIHByb2plY3RJZF0gPSByZXBvLnNwbGl0KCdfJylcbiAgICAgIHZhbGlkUmVwb1BhdGggPSBsYW5ndWFnZUlkICYmIHByb2plY3RJZFxuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgY29uc29sZS5sb2coJ0ludmFsaWQgRENTIFVSTDogJyArIHVybClcbiAgfVxuICByZXR1cm4geyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUVycm9yTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0KSB7XG4gIGxldCBtZXNzYWdlID0gJydcblxuICBpZiAocmVzb3VyY2VTdGF0dXNbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW0lOVkFMSURfTUFOSUZFU1RfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbQ09OVEVOVF9OT1RfRk9VTkRfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IEJPT0tfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW1NDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBTQ1JJUFRVUkVfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZGVjb2RlIHJlc291cmNlIHN0YXR1cyBpbnRvIHN0cmluZy4gIEN1cnJlbnRseSBvbmx5IEVuZ2xpc2hcbiAqIEBwYXJhbSByZXNvdXJjZVN0YXR1cyAtIG9iamVjdCB0aGF0IGNvbnRhaW5zIHN0YXRlIGFuZCBlcnJvcnMgdGhhdCBhcmUgZGV0ZWN0ZWRcbiAqIEBwYXJhbSBzZXJ2ZXIgLSBjb250YWlucyB0aGUgc2VydmVyIGJlaW5nIHVzZWRcbiAqIEBwYXJhbSByZXNvdXJjZUxpbmsgLSBwYXRoIHRvIHJlcG8gb24gc2VydmVyXG4gKiBAcGFyYW0gaXNOVCAtIHRydWUgaWYgTlQgYm9va1xuICogQHJldHVybiBlbXB0eSBzdHJpbmcgaWYgbm8gZXJyb3IsIGVsc2UgcmV0dXJucyB1c2VyIGVycm9yIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0LCBzZXJ2ZXI6IHN0cmluZywgcmVzb3VyY2VMaW5rOiBzdHJpbmcsIGlzTlQ6IGJvb2xlYW4pIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tMT0FESU5HX1NUQVRFXSkge1xuICAgIG1lc3NhZ2UgPSBMT0FESU5HX1JFU09VUkNFXG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9IGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzKVxuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rLCBzZXJ2ZXIsIG1lc3NhZ2UsIGlzTlQpXG4gICAgfVxuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZ2VuZXJhdGUgcmVzb3VyY2Ugc3RyaW5nXG4gKiBAcGFyYW0gb3duZXJcbiAqIEBwYXJhbSBsYW5ndWFnZUlkXG4gKiBAcGFyYW0gcHJvamVjdElkXG4gKiBAcGFyYW0gcmVmXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyhvd25lcjogc3RyaW5nLCBsYW5ndWFnZUlkOiBzdHJpbmcsIHByb2plY3RJZDogc3RyaW5nLCByZWY6IHN0cmluZykge1xuICByZXR1cm4gYGFwaS92MS9yZXBvcy8ke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cHJvamVjdElkfS9jb250ZW50cz9yZWY9JHtyZWZ9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZml4T2NjdXJyZW5jZShvY2N1cnJlbmNlKSB7XG4gIGlmICh0eXBlb2Ygb2NjdXJyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQob2NjdXJyZW5jZSlcbiAgfVxuICByZXR1cm4gb2NjdXJyZW5jZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cFZlcnNlT2JqZWN0cyh2ZXJzZU9iamVjdHMpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgY29uc3QgdmVyc2VPYmplY3RzXyA9IFsuLi52ZXJzZU9iamVjdHNdXG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHZlcnNlT2JqZWN0c18ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB2byA9IHZlcnNlT2JqZWN0c19baV1cblxuICAgICAgaWYgKHZvLnR5cGUgPT09ICd3b3JkJyAmJiAodm8ub2NjdXJyZW5jZSB8fCB2by5vY2N1cnJlbmNlcykpIHtcbiAgICAgICAgY29uc3Qgd29yZCA9IHsgLi4udm8gfVxuXG4gICAgICAgIGlmICh2by5vY2N1cnJlbmNlKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlID0gZml4T2NjdXJyZW5jZSh2by5vY2N1cnJlbmNlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZvLm9jY3VycmVuY2VzKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlcyA9IGZpeE9jY3VycmVuY2Uodm8ub2NjdXJyZW5jZXMpXG4gICAgICAgIH1cbiAgICAgICAgdmVyc2VPYmplY3RzX1tpXSA9IHdvcmRcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBjbGVhbnVwVmVyc2VPYmplY3RzKHZvLmNoaWxkcmVuKVxuICAgICAgICBjb25zdCBuZXdWbyA9IHtcbiAgICAgICAgICAuLi52byxcbiAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgfVxuICAgICAgICB2ZXJzZU9iamVjdHNfW2ldID0gbmV3Vm9cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZlcnNlT2JqZWN0c19cbiAgfVxuICByZXR1cm4gW11cbn1cblxuLyoqXG4gKiB0YWtlIHRoZSBmaWxlbmFtZSBvZiB0aGUgYm9vayAoZS5nLiBcIjU3LVRJVC51c2ZtXCIpIGFuZCBwYXJzZSBvdXQgdGhlIGJvb2tJZFxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGJvb2tJZCBpZiBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lKGZpbGVuYW1lKSB7XG4gIGNvbnN0IHJlZ2V4ID0gL14oLio/KVxcLnVzZm0vXG4gIGNvbnN0IGJvb2tOYW1lID0gZmlsZW5hbWU/Lm1hdGNoKHJlZ2V4KT8uWzFdXG4gIHJldHVybiBib29rTmFtZVxufVxuXG4vKipcbiAqIHBhcnNlIHRoZSBVU0ZNIHRvIGZpbmQgYm9va0lEIGluIGhlYWRlclxuICogQHBhcmFtIHtzdHJpbmd9IGJpYmxlVXNmbVxuICogQHJldHVybiB7c3RyaW5nfSBib29rSWQgaWYgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJpYmxlSWRGcm9tVXNmbUNvbnRlbnRJRChiaWJsZVVzZm0pIHtcbiAgY29uc3QgaWRIZWFkZXIgPSAnXFxcXGlkICdcbiAgY29uc3QgcG9zSWQgPSBiaWJsZVVzZm0/LmluZGV4T2YoaWRIZWFkZXIpXG5cbiAgaWYgKHBvc0lkID49IDApIHtcbiAgICBjb25zdCBpZFN0YXJ0ID0gcG9zSWQgKyBpZEhlYWRlci5sZW5ndGhcbiAgICBsZXQgaGVhZGVySWQgPSBiaWJsZVVzZm0/LnN1YnN0cmluZyggaWRTdGFydCwgaWRTdGFydCArIDEwMCkudHJpbSgpXG4gICAgbGV0IGhlYWRlckJvb2tJRCA9IG51bGxcblxuICAgIGlmIChoZWFkZXJJZD8ubGVuZ3RoID4gMSkge1xuICAgICAgaGVhZGVyQm9va0lEID0gaGVhZGVySWQ/LnNwbGl0KCcgJylcbiAgICAgIGhlYWRlckJvb2tJRCA9IGhlYWRlckJvb2tJRD8uWzBdLnRyaW0oKVxuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyQm9va0lEXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuLyoqXG4gKiBkZXRlcm1pbmVzIGlmIHRoZXJlIGFyZSBhbnkgd29yZHMgaW4gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0cyAtIGFycmF5IG9mIHZlcnNlT2JqZWN0cyB0byBzZWFyY2ggZm9yIHdvcmRzXG4gKiBAcmV0dXJuIHtib29sZWFufSB0cnVlIGlmIHdvcmQgaXMgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2ZXJzZU9iamVjdHM6IFZlcnNlT2JqZWN0c1R5cGUpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgZm9yIChjb25zdCB2byBvZiB2ZXJzZU9iamVjdHMpIHtcbiAgICAgIGlmICh2by50eXBlID09PSAnd29yZCcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgZm91bmRXb3JkcyA9IHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2by5jaGlsZHJlbilcblxuICAgICAgICBpZiAoZm91bmRXb3Jkcykge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKlxuICogZXh0cmFjdCBqdXN0IHRoZSBhbGlnbm1lbnRzIGZyb20gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0c1xuICogQHJldHVybnMge1ZlcnNlT2JqZWN0c1R5cGV9IC0ganVzdCBhbGlnbm1lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGlnbm1lbnRzKHZlcnNlT2JqZWN0czogVmVyc2VPYmplY3RzVHlwZSk6VmVyc2VPYmplY3RzVHlwZSB7XG4gIGNvbnN0IGFsaWdubWVudHNMaXN0ID0gdmVyc2VPYmplY3RzLmZpbHRlcih2byA9PiB2by50YWcgPT09ICd6YWxuJylcblxuICAvLyByZW1vdmUgZW5kVGFnXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWxpZ25tZW50c0xpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRzTGlzdFtpXVxuXG4gICAgaWYgKGFsaWdubWVudC5lbmRUYWcpIHtcbiAgICAgIGNvbnN0IF9hbGlnbm1lbnQgPSB7IC4uLmFsaWdubWVudCB9XG4gICAgICBkZWxldGUgX2FsaWdubWVudC5lbmRUYWdcbiAgICAgIGFsaWdubWVudHNMaXN0W2ldID0gX2FsaWdubWVudFxuICAgIH1cbiAgfVxuICByZXR1cm4gYWxpZ25tZW50c0xpc3Rcbn1cblxuLyoqXG4gKiBkbyBhIGZldGNoIG9mIG1hbmlmZXN0IGFuZCBib29rIG9mIHRoZSBiaWJsZSBzcGVjaWZpZWQgaW4gZmV0Y2hQYXJhbXMuXG4gKlxuICogICAgVFJJQ0tZIC0gdGhpcyBmdW5jdGlvbiBpcyBiZWluZyBjYWxsZWQgYnkgZXZlcnkgc2NyaXB0dXJlIGNhcmQgc2ltdWx0YW5lb3VzbHkgZHVyaW5nIGJvb2sgbmF2aWdhdGlvbiwgc28gaXQgaXNcbiAqICAgICAgdmVyeSBpbXBvcnRhbnQgdGhhdCBpdCBkb2VzIG5vdCBjYXVzZSBzaWduaWZpY2FudCBkZWxheXMgKHBhcnRpY3VsYXJseSBvbiBzbG93ZXIgZGV2aWNlcykgYW5kIGJsb2NrIFVJIG9yXG4gKiAgICAgIHN0YXRlIHVwZGF0ZXMuXG4gKlxuICogQHBhcmFtIHtCb29rRmV0Y2hQYXJhbXN9IGZldGNoUGFyYW1zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEJpYmxlQm9va0NvcmUoZmV0Y2hQYXJhbXM6IEJvb2tGZXRjaFBhcmFtcykge1xuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIEZFVENISU5HIGJpYmxlICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcblxuICAgIC8vIGZldGNoIG1hbmlmZXN0IGRhdGFcbiAgICBjb25zdCByZXNvdXJjZSA9IGF3YWl0IGNvcmUucmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rKGZldGNoUGFyYW1zKVxuXG4gICAgaWYgKCFyZXNvdXJjZT8ubWFuaWZlc3QgfHwgIXJlc291cmNlPy5wcm9qZWN0Py5maWxlKSB7XG4gICAgICBjb25zdCBlcnJvck1zZyA9IHJlc291cmNlPy5tYW5pZmVzdCA/ICdwYXJzaW5nIHJlc291cmNlIG1hbmlmZXN0JyA6ICdsb2FkaW5nIHJlc291cmNlIG1hbmlmZXN0J1xuICAgICAgY29uc29sZS53YXJuKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIGVycm9yICR7ZXJyb3JNc2d9YCwgZmV0Y2hQYXJhbXMgKVxuICAgICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnLCByZXNvdXJjZUVycm9yOiB0cnVlIH1cbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgZmV0Y2hCaWJsZUJvb2tDb3JlKCkgLSBMT0FERUQgYmlibGUgbWFuaWZlc3QsIGZldGNoaW5nIGJvb2sgICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlc291cmNlPy5wcm9qZWN0Py5maWxlKClcbiAgICAvLyBwYXJzZSBib29rIHVzZm1cbiAgICBjb25zdCBiaWJsZVVzZm0gPSByZXNwb25zZSAmJiBjb3JlLmdldFJlc3BvbnNlRGF0YShyZXNwb25zZSlcbiAgICBhd2FpdCBkZWxheSgxMDApIC8vIGFsbG93IFVJIHRvIHVwZGF0ZSBiZXR3ZWVuIHR3byBjb21wdXRhdGlvbmFsbHkgZXhwZW5zaXZlIGZ1bmN0aW9uc1xuICAgIGNvbnN0IGJvb2tPYmplY3RzID0gYmlibGVVc2ZtICYmIHVzZm1qcy50b0pTT04oYmlibGVVc2ZtKSAvLyBjb252ZXJ0IHRvIGJpYmxlIG9iamVjdHNcblxuICAgIGlmICghYm9va09iamVjdHMpIHtcbiAgICAgIGNvbnN0IGVycm9yTXNnID0gYmlibGVVc2ZtID8gJ2ZldGNoaW5nIGJvb2sgb2YgdGhlIGJpYmxlJyA6ICdwYXJzaW5nIGJvb2sgb2YgdGhlIGJpYmxlJ1xuICAgICAgY29uc29sZS53YXJuKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIGVycm9yICR7ZXJyb3JNc2d9YCwgZmV0Y2hQYXJhbXMgKVxuICAgICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnIH1cbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICBuYW1lLFxuICAgICAgc2hhLFxuICAgICAgdXJsLFxuICAgIH0gPSByZXNwb25zZT8uZGF0YSB8fCB7fVxuXG4gICAgY29uc29sZS5sb2coYGZldGNoQmlibGVCb29rQ29yZSgpIC0gTE9BREVEIGJpYmxlIGJvb2ssICAke2ZldGNoUGFyYW1zPy5yZXNvdXJjZUxpbmt9YCwgZmV0Y2hQYXJhbXMpXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc291cmNlLFxuICAgICAgYmlibGVVc2ZtLFxuICAgICAgYm9va09iamVjdHMsXG4gICAgICBuYW1lLFxuICAgICAgcmVzcG9uc2UsXG4gICAgICBzaGEsXG4gICAgICB1cmwsXG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc3QgZXJyb3JNc2cgPSAnaGFyZCBlcnJvciBsb2FkaW5nIHJlc291cmNlJ1xuICAgIGNvbnNvbGUuZXJyb3IoYGZldGNoQmlibGVCb29rQ29yZSgpIC0gJHtlcnJvck1zZ31gLCBmZXRjaFBhcmFtcywgZSApXG4gICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnIH1cbiAgfVxufVxuXG4vKipcbiAqIGRvIGEgZmV0Y2ggb2YgbWFuaWZlc3QgYW5kIGJvb2sgb2YgdGhlIGJpYmxlIHNwZWNpZmllZCBpbiBmZXRjaFBhcmFtc1xuICogQHBhcmFtIHtzdHJpbmd9IHNlcnZlciAtIHNlcnZlciB0byBhY2Nlc3NcbiAqIEBwYXJhbSB7U2VydmVyQ29uZmlnfSBjb25maWdcbiAqIEBwYXJhbSB7U2NyaXB0dXJlUmVzb3VyY2V9IHJlc291cmNlXG4gKiBAcGFyYW0ge1NjcmlwdHVyZVJlZmVyZW5jZX0gcmVmZXJlbmNlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEJpYmxlQm9vayhzZXJ2ZXI6IHN0cmluZywgY29uZmlnOiBTZXJ2ZXJDb25maWcsIHJlc291cmNlOiBTY3JpcHR1cmVSZXNvdXJjZSwgcmVmZXJlbmNlOiBTY3JpcHR1cmVSZWZlcmVuY2UpIHtcbiAgY29uc3QgcmVmXyA9IHJlc291cmNlPy5icmFuY2ggfHwgcmVzb3VyY2U/LnJlZlxuICBjb25zdCByZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgIC4uLnJlc291cmNlLFxuICAgIHJlc291cmNlSWQ6IHJlc291cmNlPy5wcm9qZWN0SWQgfHwgJycsXG4gICAgcHJvamVjdElkOiByZWZlcmVuY2U/LnByb2plY3RJZCB8fCAnJyxcbiAgICByZWY6IHJlZl8sXG4gIH0pXG5cbiAgbGV0IGZldGNoUGFyYW1zOiBCb29rRmV0Y2hQYXJhbXMgPSB7XG4gICAgY29uZmlnOiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBzZXJ2ZXIsXG4gICAgfSxcbiAgICByZXNvdXJjZSxcbiAgICByZWZlcmVuY2UsXG4gICAgcmVzb3VyY2VMaW5rLFxuICB9XG5cbiAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IGZldGNoQmlibGVCb29rQ29yZShmZXRjaFBhcmFtcylcbiAgcmV0dXJuIHJlc3VsdHNcbn1cbiJdLCJtYXBwaW5ncyI6IjsrQ0FDQSxxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FB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
637
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJpdGVyIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsInN0ZXAiLCJfZTIiLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwib2JqIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwidG9QcmltaXRpdmUiLCJyZXMiLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJ0b1N0cmluZyIsInRlc3QiLCJsZW4iLCJhcnIyIiwiQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IiLCJJTlZBTElEX01BTklGRVNUX0VSUk9SIiwiTE9BRElOR19TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUiIsImNvcmUiLCJ1c2ZtanMiLCJCb29rRmV0Y2hQYXJhbXMiLCJTY3JpcHR1cmVSZWZlcmVuY2VUeXBlIiwiU2NyaXB0dXJlUmVzb3VyY2VUeXBlIiwiU2VydmVyQ29uZmlnVHlwZSIsIlZlcnNlT2JqZWN0c1R5cGUiLCJCT09LX05PVF9GT1VORF9FUlJPUl9NU0ciLCJMT0FESU5HX1JFU09VUkNFIiwiTUFOSUZFU1RfSU5WQUxJRF9FUlJPUl9NU0ciLCJNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHIiwiTlRfT1JJR19MQU5HIiwiTlRfT1JJR19MQU5HX0JJQkxFIiwiT1JJR0lOQUxfU09VUkNFIiwiT1RfT1JJR19MQU5HIiwiT1RfT1JJR19MQU5HX0JJQkxFIiwiU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0ciLCJUQVJHRVRfTElURVJBTCIsIlRBUkdFVF9TSU1QTElGSUVEIiwiZGVsYXkiLCJESVNBQkxFX1dPUkRfUE9QT1ZFUiIsImdldFJlc291cmNlTGluayIsInNjcmlwdHVyZSIsInJlZiIsImJyYW5jaCIsImNvbmNhdCIsIm93bmVyIiwibGFuZ3VhZ2VJZCIsInJlc291cmNlSWQiLCJwYXJzZVJlc291cmNlTGluayIsInJlc291cmNlTGluayIsIl9yZXNvdXJjZUxpbmskc3BsaXQiLCJzcGxpdCIsIl9yZXNvdXJjZUxpbmskc3BsaXQyIiwiZ2V0U2NyaXB0dXJlT2JqZWN0IiwiX3JlZiIsInRpdGxlIiwic2VydmVyIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiZ2V0VmVyc2VEYXRhRnJvbVNjcmlwQ29uZmlnIiwic2NyaXB0dXJlQ29uZmlnIiwidmVyc2VOdW0iLCJfc2NyaXB0dXJlQ29uZmlnJHZlcnMiLCJ2ZXJzZXNGb3JSZWYiLCJmaW5kIiwidmVyc2VSZWYiLCJ2ZXJzZSIsImlzT3JpZ2luYWxCaWJsZSIsImlzT3JpZyIsImNsZWFudXBBY2NvdW50U2V0dGluZ3MiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRPd25lciIsImN1cnJlbnRMYW5ndWFnZUlkIiwic3BsaXRVcmwiLCJvcmlnaW5hbFJlcG9VcmwiLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJib29rSWQiLCJzY3JpcHR1cmVTZXR0aW5nc18iLCJpc05ld1Rlc3RhbWVudCIsIl9zcGxpdFVybCIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsIl9yZWYyIiwibGFiZWwiLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJpbmRleCIsImZpbmRJdGVtSW5kZXhCeUtleSIsInNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwidmFsaWRhdGlvbkNCIiwiaXRlbSIsIm5ld0l0ZW0iLCJhZGRJdGVtVG9IaXN0b3J5IiwiZ2V0SXRlbUJ5VGl0bGUiLCJkZWxldGVJdGVtIiwiZGVsZXRlSW5kZXgiLCJyZW1vdmVJdGVtQnlJbmRleCIsImdldFJlcG9VcmwiLCJpc05UIiwicmVwb1VybCIsIl9yZXNvdXJjZUxpbmskc3BsaXQzIiwiX3Jlc291cmNlTGluayRzcGxpdDQiLCJnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsiLCJlcnJvckNvZGUiLCJlcnJvck1zZyIsInZhbGlkYXRlRGNzVXJsIiwidmFsaWRSZXBvUGF0aCIsInZhbGlkVXJsIiwicGFydHMiLCJfcGFydHMiLCJwcm90b2NvbCIsImhvc3QiLCJ1c2VyIiwicmVwbyIsImhvc3RQYXJ0cyIsIl9pdGVyYXRvciIsIl9zdGVwIiwicGFydCIsIl9yZXBvJHNwbGl0IiwiX3JlcG8kc3BsaXQyIiwicHJvamVjdElkIiwiX3VudXNlZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIiwiZml4T2NjdXJyZW5jZSIsIm9jY3VycmVuY2UiLCJwYXJzZUludCIsImNsZWFudXBWZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHNfIiwidm8iLCJvY2N1cnJlbmNlcyIsIndvcmQiLCJjaGlsZHJlbiIsIm5ld1ZvIiwiZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lIiwiZmlsZW5hbWUiLCJfZmlsZW5hbWUkbWF0Y2giLCJyZWdleCIsImJvb2tOYW1lIiwibWF0Y2giLCJnZXRCaWJsZUlkRnJvbVVzZm1Db250ZW50SUQiLCJiaWJsZVVzZm0iLCJpZEhlYWRlciIsInBvc0lkIiwiaW5kZXhPZiIsImlkU3RhcnQiLCJoZWFkZXJJZCIsInN1YnN0cmluZyIsInRyaW0iLCJoZWFkZXJCb29rSUQiLCJfaGVhZGVyQm9va0lEIiwidmVyc2VPYmplY3RzSGF2ZVdvcmRzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImZvdW5kV29yZHMiLCJnZXRBbGlnbm1lbnRzIiwiYWxpZ25tZW50c0xpc3QiLCJ0YWciLCJhbGlnbm1lbnQiLCJlbmRUYWciLCJfYWxpZ25tZW50IiwiZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX3giLCJfZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX2NhbGxlZSIsImZldGNoUGFyYW1zIiwiX3Jlc291cmNlJHByb2plY3QiLCJfcmVzb3VyY2UkcHJvamVjdDIiLCJyZXNvdXJjZSIsInJlc3BvbnNlIiwiYm9va09iamVjdHMiLCJfZXJyb3JNc2ciLCJfcmVmMyIsInNoYSIsIl9lcnJvck1zZzIiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwibWFuaWZlc3QiLCJwcm9qZWN0IiwiZmlsZSIsIndhcm4iLCJyZXNvdXJjZUVycm9yIiwiZ2V0UmVzcG9uc2VEYXRhIiwidG9KU09OIiwiZGF0YSIsInQwIiwiZmV0Y2hCaWJsZUJvb2siLCJfeDIiLCJfeDMiLCJfeDQiLCJfeDUiLCJfZmV0Y2hCaWJsZUJvb2siLCJfY2FsbGVlMiIsImNvbmZpZyIsInJlZmVyZW5jZSIsInJlZl8iLCJyZXN1bHRzIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SLFxuICBJTlZBTElEX01BTklGRVNUX0VSUk9SLFxuICBMT0FESU5HX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxuICBTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHVzZm1qcyBmcm9tICd1c2ZtLWpzJ1xuaW1wb3J0IHtcbiAgQm9va0ZldGNoUGFyYW1zLFxuICBTY3JpcHR1cmVSZWZlcmVuY2VUeXBlLFxuICBTY3JpcHR1cmVSZXNvdXJjZVR5cGUsXG4gIFNlcnZlckNvbmZpZ1R5cGUsXG4gIFZlcnNlT2JqZWN0c1R5cGUsXG59IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHtcbiAgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBMT0FESU5HX1JFU09VUkNFLFxuICBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyxcbiAgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyxcbiAgTlRfT1JJR19MQU5HLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBUQVJHRVRfTElURVJBTCxcbiAgVEFSR0VUX1NJTVBMSUZJRUQsXG59IGZyb20gJy4vY29tbW9uJ1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICcuL2RlbGF5J1xuXG5leHBvcnQgY29uc3QgRElTQUJMRV9XT1JEX1BPUE9WRVIgPSB0cnVlIC8vIGRpc2FibGUgd29yZCBwb3BvdmVyIGZvciBldmVyeSBzY3JpcHR1cmUgcGFuZSBidXQgb3JpZ2luYWwgbGFuZ3VhZ2VzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlKSB7XG4gIGNvbnN0IHJlZiA9IHNjcmlwdHVyZS5yZWYgfHwgc2NyaXB0dXJlLmJyYW5jaFxuICByZXR1cm4gYCR7c2NyaXB0dXJlLm93bmVyfS8ke3NjcmlwdHVyZS5sYW5ndWFnZUlkfS8ke3NjcmlwdHVyZS5yZXNvdXJjZUlkfS8ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlc291cmNlTGluayhyZXNvdXJjZUxpbmspIHtcbiAgY29uc3QgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkLCByZWZdID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcbiAgcmV0dXJuIHtcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgcmVmLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICB0aXRsZSxcbiAgc2VydmVyLFxuICBvd25lcixcbiAgcmVmLFxuICBsYW5ndWFnZUlkLFxuICByZXNvdXJjZUlkLFxuICByZXNvdXJjZUxpbmssXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxufSkge1xuICBjb25zdCBzY3JpcHR1cmUgPSB7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICByZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICByZXNvdXJjZUxpbmssXG4gIH1cblxuICBpZiAoIXJlc291cmNlTGluaykge1xuICAgIHNjcmlwdHVyZS5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgICAgb3duZXIsXG4gICAgICByZWYsXG4gICAgICBsYW5ndWFnZUlkLFxuICAgICAgcmVzb3VyY2VJZCxcbiAgICB9KVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVcbn1cblxuLyoqXG4gKiByZXR1cm4gdmVyc2UgZGF0YSBnaXZlbiBhIHNjcmlwdHVyZSBjb25maWcgYW5kIHZlcnNlIG51bWJlclxuICogQHBhcmFtIHNjcmlwdHVyZUNvbmZpZ1xuICogQHBhcmFtIHZlcnNlTnVtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzZURhdGFGcm9tU2NyaXBDb25maWcoc2NyaXB0dXJlQ29uZmlnLCB2ZXJzZU51bSkge1xuICByZXR1cm4gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWY/LmZpbmQoXG4gICAgdmVyc2VSZWYgPT4gdmVyc2VSZWYudmVyc2UgPT09IHZlcnNlTnVtXG4gIClcbn1cblxuLyoqXG4gKiByZXR1cm4gdHJ1ZSBpZiByZXNvdXJjZSBpcyBhbiBvcmlnaW5hbCBsYW5ndWFnZSBiaWJsZVxuICogQHBhcmFtIHJlc291cmNlSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3JpZ2luYWxCaWJsZShyZXNvdXJjZUlkKSB7XG4gIGNvbnN0IGlzT3JpZyA9ICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSlcbiAgcmV0dXJuIGlzT3JpZ1xufVxuXG4vKipcbiAqIG1ha2Ugc3VyZSBzY3JpcHR1cmVTZXR0aW5ncyBhcmUgdXAgdG8gZGF0ZSB3aXRoIGN1cnJlbnQgb3duZXIgYW5kIGxhbmd1YWdlXG4gKiBAcGFyYW0ge29iamVjdH0gc2NyaXB0dXJlU2V0dGluZ3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3M6IGFueSwgY3VycmVudE93bmVyOiBhbnksIGN1cnJlbnRMYW5ndWFnZUlkOiBhbnkpIHtcbiAgaWYgKGN1cnJlbnRPd25lciAmJiAoY3VycmVudE93bmVyICE9PSBzY3JpcHR1cmVTZXR0aW5ncy5vd25lcikpIHsgLy8gaWYgb3duZXIgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBjdXJyZW50T3duZXJcbiAgfVxuXG4gIGlmIChjdXJyZW50TGFuZ3VhZ2VJZCAmJiAoY3VycmVudExhbmd1YWdlSWQgIT09IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQpKSB7IC8vIGlmIGxhbmd1YWdlIGNoYW5nZWQsIHVwZGF0ZSBzY3JpcHR1cmVTZXR0aW5nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBjdXJyZW50TGFuZ3VhZ2VJZFxuICB9XG59XG5cbi8qKlxuICogc2VwYXJhdGUgVVJMIGludG8gc2VydmVyIGFuZCByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpIHtcbiAgaWYgKG9yaWdpbmFsUmVwb1VybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3JpZ2luYWxSZXBvVXJsKVxuICAgIGNvbnN0IHNlcnZlciA9IHVybC5vcmlnaW5cbiAgICBjb25zdCByZXNvdXJjZUxpbmsgPSB1cmwucGF0aG5hbWUgKyAodXJsLnNlYXJjaCB8fCAnJylcbiAgICByZXR1cm4geyBzZXJ2ZXIsIHJlc291cmNlTGluayB9XG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogZ2V0IHRoZSBzY3JpcHR1cmUgc2V0dGluZ3MgbmVlZGVkIGZvciBmZXRjaCAtIGZvciBPcmlnTGFuZywgVUxULCBHTFQgd2lsbCByZXBsYWNlIG93bmVyIGFuZCBsYW5ndWFnZUlkIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc19cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdUZXN0YW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmwgLSBvcHRpb25hbCBwYXRoIHRvIHJlcG8gZm9yIG9yaWdpbmFsIGxhbmd1YWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKFxuICBib29rSWQsIHNjcmlwdHVyZVNldHRpbmdzXywgaXNOZXdUZXN0YW1lbnQsXG4gIG9yaWdpbmFsUmVwb1VybD1udWxsLFxuICBjdXJyZW50TGFuZ3VhZ2VJZD1udWxsLFxuICBjdXJyZW50T3duZXI9bnVsbCxcbikge1xuICBjb25zdCBzY3JpcHR1cmVTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlU2V0dGluZ3NfIH1cbiAgc2NyaXB0dXJlU2V0dGluZ3MuZGlzYWJsZVdvcmRQb3BvdmVyID0gRElTQUJMRV9XT1JEX1BPUE9WRVJcbiAgY29uc3QgcmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzXy5yZXNvdXJjZUlkXG5cbiAgaWYgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkge1xuICAgIC8vIHNlbGVjdCBvcmlnaW5hbCBsYW5ndWFnZSBCaWJsZSBiYXNlZCBvbiB3aGljaCB0ZXN0YW1lbnQgdGhlIGJvb2sgYmVsb25nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBpc05ld1Rlc3RhbWVudCA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBpc05ld1Rlc3RhbWVudFxuICAgICAgPyBOVF9PUklHX0xBTkdfQklCTEVcbiAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG5cbiAgICBpZiAoc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyKSB7XG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IHNjcmlwdHVyZVNldHRpbmdzLm9yaWdpbmFsTGFuZ3VhZ2VPd25lclxuICAgIH1cblxuICAgIGlmIChvcmlnaW5hbFJlcG9VcmwpIHsgLy8gdXNlIHRoaXMgdXJsIGlmIGRlZmluZWRcbiAgICAgIGNvbnN0IHsgc2VydmVyLCByZXNvdXJjZUxpbmsgfSA9IHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybClcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnNlcnZlciA9IHNlcnZlclxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rXG4gICAgfSBlbHNlIHsgLy8gZmFsbCBiYWNrIHRvIGFwcCBkZWZhdWx0c1xuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICAgIH1cbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBmYWxzZVxuICB9IGVsc2UgaWYgKHJlc291cmNlSWQgPT09IFRBUkdFVF9MSVRFUkFMKSB7XG4gICAgY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5ncywgY3VycmVudE93bmVyLCBjdXJyZW50TGFuZ3VhZ2VJZClcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9PT0gJ2VuJyA/ICd1bHQnIDogJ2dsdCdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX1NJTVBMSUZJRUQpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VzdCcgOiAnZ3N0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfVxuICByZXR1cm4gc2NyaXB0dXJlU2V0dGluZ3Ncbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyh7XG4gIGxhYmVsLFxuICByZXNvdXJjZUxpbmssXG4gIHNldFNjcmlwdHVyZSxcbiAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG59KSB7XG4gIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICBsZXQgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3Jlc291cmNlTGluaycsIHJlc291cmNlTGluaylcblxuICBjb25zdCBzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyA9IHtcbiAgICBsYWJlbCwgLy8gbGFiZWwgZm9yIGNvbWJvYm94XG4gICAgb3B0aW9uczogaGlzdG9yeSxcbiAgICBjdXJyZW50OiBpbmRleCxcbiAgICBhbGxvd1VzZXJJbnB1dDogdHJ1ZSxcbiAgICBvbkNoYW5nZTogKHRpdGxlLCBpbmRleCwgdmFsaWRhdGlvbkNCPW51bGwpID0+IHtcbiAgICAgIGxldCBpdGVtXG5cbiAgICAgIGlmICgoaW5kZXggPCAwKSAmJiB0aXRsZSkge1xuICAgICAgICBjb25zdCBuZXdJdGVtID0ge1xuICAgICAgICAgIHVybDogdGl0bGUsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KG5ld0l0ZW0pXG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBpdGVtID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClbaW5kZXhdXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRJdGVtQnlUaXRsZSh0aXRsZSlcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgc2V0U2NyaXB0dXJlKGl0ZW0sIHZhbGlkYXRpb25DQilcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlbGV0ZUl0ZW06IHRpdGxlID0+IHtcbiAgICAgIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICAgICAgY29uc3QgZGVsZXRlSW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3RpdGxlJywgdGl0bGUpXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVJdGVtQnlJbmRleChkZWxldGVJbmRleClcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXBvVXJsKHJlc291cmNlTGluazogc3RyaW5nLCBzZXJ2ZXI6IHN0cmluZywgaXNOVDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGxldCByZXBvVXJsXG5cbiAgdHJ5IHtcbiAgICBsZXQgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkXSA9IHJlc291cmNlTGluay5zcGxpdCgnLycpXG5cbiAgICBzd2l0Y2ggKHJlc291cmNlSWQpIHtcbiAgICBjYXNlIE9SSUdJTkFMX1NPVVJDRTpcbiAgICAgIGxhbmd1YWdlSWQgPSBpc05UID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgICByZXNvdXJjZUlkID0gaXNOVFxuICAgICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgICA6IE9UX09SSUdfTEFOR19CSUJMRVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX0xJVEVSQUw6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VsdCcgOiAnZ2x0J1xuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX1NJTVBMSUZJRUQ6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VzdCcgOiAnZ3N0J1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVwb1VybCA9IGAke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cmVzb3VyY2VJZH1gXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyByZXNvdXJjZUxpbmsgd2FzIGludmFsaWRcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGAke3NlcnZlciB8fCAnJ30vJHtyZXBvVXJsfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhcbiAgcmVzb3VyY2VMaW5rOiBzdHJpbmcsXG4gIHNlcnZlcjogc3RyaW5nLFxuICBlcnJvckNvZGU6IHN0cmluZyxcbiAgaXNOVDogYm9vbGVhbik6IHN0cmluZ1xue1xuICBjb25zdCByZXBvVXJsID0gZ2V0UmVwb1VybChyZXNvdXJjZUxpbmssIHNlcnZlciwgaXNOVClcbiAgY29uc3QgZXJyb3JNc2cgPSBlcnJvckNvZGUgKyByZXBvVXJsXG4gIHJldHVybiBlcnJvck1zZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEY3NVcmwodXJsKSB7XG4gIGxldCB2YWxpZFJlcG9QYXRoID0gZmFsc2VcbiAgbGV0IHZhbGlkVXJsID0gZmFsc2VcblxuICB0cnkge1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCcvJylcbiAgICBjb25zdCBbcHJvdG9jb2wsICwgaG9zdCwgdXNlciwgcmVwb10gPSBwYXJ0c1xuICAgIHZhbGlkVXJsID0gKHByb3RvY29sID09PSAnaHR0cHM6JylcbiAgICBjb25zdCBob3N0UGFydHMgPSBob3N0ID8gaG9zdC5zcGxpdCgnLicpIDogW11cblxuICAgIGlmIChob3N0UGFydHMubGVuZ3RoID49IDIpIHtcbiAgICAgIGZvciAobGV0IHBhcnQgb2YgaG9zdFBhcnRzKSB7XG4gICAgICAgIGlmICghcGFydCkge1xuICAgICAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoIHByb3RvY29sICYmIGhvc3QgJiYgdXNlciAmJiByZXBvICkge1xuICAgICAgY29uc3QgW2xhbmd1YWdlSWQsIHByb2plY3RJZF0gPSByZXBvLnNwbGl0KCdfJylcbiAgICAgIHZhbGlkUmVwb1BhdGggPSBsYW5ndWFnZUlkICYmIHByb2plY3RJZFxuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgY29uc29sZS5sb2coJ0ludmFsaWQgRENTIFVSTDogJyArIHVybClcbiAgfVxuICByZXR1cm4geyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUVycm9yTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0KSB7XG4gIGxldCBtZXNzYWdlID0gJydcblxuICBpZiAocmVzb3VyY2VTdGF0dXNbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW0lOVkFMSURfTUFOSUZFU1RfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbQ09OVEVOVF9OT1RfRk9VTkRfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IEJPT0tfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW1NDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBTQ1JJUFRVUkVfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZGVjb2RlIHJlc291cmNlIHN0YXR1cyBpbnRvIHN0cmluZy4gIEN1cnJlbnRseSBvbmx5IEVuZ2xpc2hcbiAqIEBwYXJhbSByZXNvdXJjZVN0YXR1cyAtIG9iamVjdCB0aGF0IGNvbnRhaW5zIHN0YXRlIGFuZCBlcnJvcnMgdGhhdCBhcmUgZGV0ZWN0ZWRcbiAqIEBwYXJhbSBzZXJ2ZXIgLSBjb250YWlucyB0aGUgc2VydmVyIGJlaW5nIHVzZWRcbiAqIEBwYXJhbSByZXNvdXJjZUxpbmsgLSBwYXRoIHRvIHJlcG8gb24gc2VydmVyXG4gKiBAcGFyYW0gaXNOVCAtIHRydWUgaWYgTlQgYm9va1xuICogQHJldHVybiBlbXB0eSBzdHJpbmcgaWYgbm8gZXJyb3IsIGVsc2UgcmV0dXJucyB1c2VyIGVycm9yIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0LCBzZXJ2ZXI6IHN0cmluZywgcmVzb3VyY2VMaW5rOiBzdHJpbmcsIGlzTlQ6IGJvb2xlYW4pIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tMT0FESU5HX1NUQVRFXSkge1xuICAgIG1lc3NhZ2UgPSBMT0FESU5HX1JFU09VUkNFXG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9IGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzKVxuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rLCBzZXJ2ZXIsIG1lc3NhZ2UsIGlzTlQpXG4gICAgfVxuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZ2VuZXJhdGUgcmVzb3VyY2Ugc3RyaW5nXG4gKiBAcGFyYW0gb3duZXJcbiAqIEBwYXJhbSBsYW5ndWFnZUlkXG4gKiBAcGFyYW0gcHJvamVjdElkXG4gKiBAcGFyYW0gcmVmXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyhvd25lcjogc3RyaW5nLCBsYW5ndWFnZUlkOiBzdHJpbmcsIHByb2plY3RJZDogc3RyaW5nLCByZWY6IHN0cmluZykge1xuICByZXR1cm4gYGFwaS92MS9yZXBvcy8ke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cHJvamVjdElkfS9jb250ZW50cz9yZWY9JHtyZWZ9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZml4T2NjdXJyZW5jZShvY2N1cnJlbmNlKSB7XG4gIGlmICh0eXBlb2Ygb2NjdXJyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQob2NjdXJyZW5jZSlcbiAgfVxuICByZXR1cm4gb2NjdXJyZW5jZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cFZlcnNlT2JqZWN0cyh2ZXJzZU9iamVjdHMpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgY29uc3QgdmVyc2VPYmplY3RzXyA9IFsuLi52ZXJzZU9iamVjdHNdXG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHZlcnNlT2JqZWN0c18ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB2byA9IHZlcnNlT2JqZWN0c19baV1cblxuICAgICAgaWYgKHZvLnR5cGUgPT09ICd3b3JkJyAmJiAodm8ub2NjdXJyZW5jZSB8fCB2by5vY2N1cnJlbmNlcykpIHtcbiAgICAgICAgY29uc3Qgd29yZCA9IHsgLi4udm8gfVxuXG4gICAgICAgIGlmICh2by5vY2N1cnJlbmNlKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlID0gZml4T2NjdXJyZW5jZSh2by5vY2N1cnJlbmNlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZvLm9jY3VycmVuY2VzKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlcyA9IGZpeE9jY3VycmVuY2Uodm8ub2NjdXJyZW5jZXMpXG4gICAgICAgIH1cbiAgICAgICAgdmVyc2VPYmplY3RzX1tpXSA9IHdvcmRcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBjbGVhbnVwVmVyc2VPYmplY3RzKHZvLmNoaWxkcmVuKVxuICAgICAgICBjb25zdCBuZXdWbyA9IHtcbiAgICAgICAgICAuLi52byxcbiAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgfVxuICAgICAgICB2ZXJzZU9iamVjdHNfW2ldID0gbmV3Vm9cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZlcnNlT2JqZWN0c19cbiAgfVxuICByZXR1cm4gW11cbn1cblxuLyoqXG4gKiB0YWtlIHRoZSBmaWxlbmFtZSBvZiB0aGUgYm9vayAoZS5nLiBcIjU3LVRJVC51c2ZtXCIpIGFuZCBwYXJzZSBvdXQgdGhlIGJvb2tJZFxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGJvb2tJZCBpZiBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lKGZpbGVuYW1lKSB7XG4gIGNvbnN0IHJlZ2V4ID0gL14oLio/KVxcLnVzZm0vXG4gIGNvbnN0IGJvb2tOYW1lID0gZmlsZW5hbWU/Lm1hdGNoKHJlZ2V4KT8uWzFdXG4gIHJldHVybiBib29rTmFtZVxufVxuXG4vKipcbiAqIHBhcnNlIHRoZSBVU0ZNIHRvIGZpbmQgYm9va0lEIGluIGhlYWRlclxuICogQHBhcmFtIHtzdHJpbmd9IGJpYmxlVXNmbVxuICogQHJldHVybiB7c3RyaW5nfSBib29rSWQgaWYgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJpYmxlSWRGcm9tVXNmbUNvbnRlbnRJRChiaWJsZVVzZm0pIHtcbiAgY29uc3QgaWRIZWFkZXIgPSAnXFxcXGlkICdcbiAgY29uc3QgcG9zSWQgPSBiaWJsZVVzZm0/LmluZGV4T2YoaWRIZWFkZXIpXG5cbiAgaWYgKHBvc0lkID49IDApIHtcbiAgICBjb25zdCBpZFN0YXJ0ID0gcG9zSWQgKyBpZEhlYWRlci5sZW5ndGhcbiAgICBsZXQgaGVhZGVySWQgPSBiaWJsZVVzZm0/LnN1YnN0cmluZyggaWRTdGFydCwgaWRTdGFydCArIDEwMCkudHJpbSgpXG4gICAgbGV0IGhlYWRlckJvb2tJRCA9IG51bGxcblxuICAgIGlmIChoZWFkZXJJZD8ubGVuZ3RoID4gMSkge1xuICAgICAgaGVhZGVyQm9va0lEID0gaGVhZGVySWQ/LnNwbGl0KCcgJylcbiAgICAgIGhlYWRlckJvb2tJRCA9IGhlYWRlckJvb2tJRD8uWzBdLnRyaW0oKVxuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyQm9va0lEXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuLyoqXG4gKiBkZXRlcm1pbmVzIGlmIHRoZXJlIGFyZSBhbnkgd29yZHMgaW4gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0cyAtIGFycmF5IG9mIHZlcnNlT2JqZWN0cyB0byBzZWFyY2ggZm9yIHdvcmRzXG4gKiBAcmV0dXJuIHtib29sZWFufSB0cnVlIGlmIHdvcmQgaXMgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2ZXJzZU9iamVjdHM6IFZlcnNlT2JqZWN0c1R5cGUpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgZm9yIChjb25zdCB2byBvZiB2ZXJzZU9iamVjdHMpIHtcbiAgICAgIGlmICh2by50eXBlID09PSAnd29yZCcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgZm91bmRXb3JkcyA9IHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2by5jaGlsZHJlbilcblxuICAgICAgICBpZiAoZm91bmRXb3Jkcykge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKlxuICogZXh0cmFjdCBqdXN0IHRoZSBhbGlnbm1lbnRzIGZyb20gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0c1xuICogQHJldHVybnMge1ZlcnNlT2JqZWN0c1R5cGV9IC0ganVzdCBhbGlnbm1lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGlnbm1lbnRzKHZlcnNlT2JqZWN0czogVmVyc2VPYmplY3RzVHlwZSk6VmVyc2VPYmplY3RzVHlwZSB7XG4gIGNvbnN0IGFsaWdubWVudHNMaXN0ID0gdmVyc2VPYmplY3RzLmZpbHRlcih2byA9PiB2by50YWcgPT09ICd6YWxuJylcblxuICAvLyByZW1vdmUgZW5kVGFnXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWxpZ25tZW50c0xpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRzTGlzdFtpXVxuXG4gICAgaWYgKGFsaWdubWVudC5lbmRUYWcpIHtcbiAgICAgIGNvbnN0IF9hbGlnbm1lbnQgPSB7IC4uLmFsaWdubWVudCB9XG4gICAgICBkZWxldGUgX2FsaWdubWVudC5lbmRUYWdcbiAgICAgIGFsaWdubWVudHNMaXN0W2ldID0gX2FsaWdubWVudFxuICAgIH1cbiAgfVxuICByZXR1cm4gYWxpZ25tZW50c0xpc3Rcbn1cblxuLyoqXG4gKiBkbyBhIGZldGNoIG9mIG1hbmlmZXN0IGFuZCBib29rIG9mIHRoZSBiaWJsZSBzcGVjaWZpZWQgaW4gZmV0Y2hQYXJhbXMuXG4gKlxuICogICAgVFJJQ0tZIC0gdGhpcyBmdW5jdGlvbiBpcyBiZWluZyBjYWxsZWQgYnkgZXZlcnkgc2NyaXB0dXJlIGNhcmQgc2ltdWx0YW5lb3VzbHkgZHVyaW5nIGJvb2sgbmF2aWdhdGlvbiwgc28gaXQgaXNcbiAqICAgICAgdmVyeSBpbXBvcnRhbnQgdGhhdCBpdCBkb2VzIG5vdCBjYXVzZSBzaWduaWZpY2FudCBkZWxheXMgKHBhcnRpY3VsYXJseSBvbiBzbG93ZXIgZGV2aWNlcykgYW5kIGJsb2NrIFVJIG9yXG4gKiAgICAgIHN0YXRlIHVwZGF0ZXMuXG4gKlxuICogQHBhcmFtIHtCb29rRmV0Y2hQYXJhbXN9IGZldGNoUGFyYW1zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEJpYmxlQm9va0NvcmUoZmV0Y2hQYXJhbXM6IEJvb2tGZXRjaFBhcmFtcykge1xuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIEZFVENISU5HIGJpYmxlICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcblxuICAgIC8vIGZldGNoIG1hbmlmZXN0IGRhdGFcbiAgICBjb25zdCByZXNvdXJjZSA9IGF3YWl0IGNvcmUucmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rKGZldGNoUGFyYW1zKVxuXG4gICAgaWYgKCFyZXNvdXJjZT8ubWFuaWZlc3QgfHwgIXJlc291cmNlPy5wcm9qZWN0Py5maWxlKSB7XG4gICAgICBjb25zdCBlcnJvck1zZyA9IHJlc291cmNlPy5tYW5pZmVzdCA/ICdwYXJzaW5nIHJlc291cmNlIG1hbmlmZXN0JyA6ICdsb2FkaW5nIHJlc291cmNlIG1hbmlmZXN0J1xuICAgICAgY29uc29sZS53YXJuKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIGVycm9yICR7ZXJyb3JNc2d9YCwgZmV0Y2hQYXJhbXMgKVxuICAgICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnLCByZXNvdXJjZUVycm9yOiB0cnVlIH1cbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgZmV0Y2hCaWJsZUJvb2tDb3JlKCkgLSBMT0FERUQgYmlibGUgbWFuaWZlc3QsIGZldGNoaW5nIGJvb2sgICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlc291cmNlPy5wcm9qZWN0Py5maWxlKClcbiAgICAvLyBwYXJzZSBib29rIHVzZm1cbiAgICBjb25zdCBiaWJsZVVzZm0gPSByZXNwb25zZSAmJiBjb3JlLmdldFJlc3BvbnNlRGF0YShyZXNwb25zZSlcbiAgICBhd2FpdCBkZWxheSgxMDApIC8vIGFsbG93IFVJIHRvIHVwZGF0ZSBiZXR3ZWVuIHR3byBjb21wdXRhdGlvbmFsbHkgZXhwZW5zaXZlIGZ1bmN0aW9uc1xuICAgIGNvbnN0IGJvb2tPYmplY3RzID0gYmlibGVVc2ZtICYmIHVzZm1qcy50b0pTT04oYmlibGVVc2ZtKSAvLyBjb252ZXJ0IHRvIGJpYmxlIG9iamVjdHNcblxuICAgIGlmICghYm9va09iamVjdHMpIHtcbiAgICAgIGNvbnN0IGVycm9yTXNnID0gYmlibGVVc2ZtID8gJ2ZldGNoaW5nIGJvb2sgb2YgdGhlIGJpYmxlJyA6ICdwYXJzaW5nIGJvb2sgb2YgdGhlIGJpYmxlJ1xuICAgICAgY29uc29sZS53YXJuKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIGVycm9yICR7ZXJyb3JNc2d9YCwgZmV0Y2hQYXJhbXMgKVxuICAgICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnIH1cbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICBuYW1lLFxuICAgICAgc2hhLFxuICAgICAgdXJsLFxuICAgIH0gPSByZXNwb25zZT8uZGF0YSB8fCB7fVxuXG4gICAgY29uc29sZS5sb2coYGZldGNoQmlibGVCb29rQ29yZSgpIC0gTE9BREVEIGJpYmxlIGJvb2ssICAke2ZldGNoUGFyYW1zPy5yZXNvdXJjZUxpbmt9YCwgZmV0Y2hQYXJhbXMpXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc291cmNlLFxuICAgICAgYmlibGVVc2ZtLFxuICAgICAgYm9va09iamVjdHMsXG4gICAgICBuYW1lLFxuICAgICAgcmVzcG9uc2UsXG4gICAgICBzaGEsXG4gICAgICB1cmwsXG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc3QgZXJyb3JNc2cgPSAnaGFyZCBlcnJvciBsb2FkaW5nIHJlc291cmNlJ1xuICAgIGNvbnNvbGUuZXJyb3IoYGZldGNoQmlibGVCb29rQ29yZSgpIC0gJHtlcnJvck1zZ31gLCBmZXRjaFBhcmFtcywgZSApXG4gICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnIH1cbiAgfVxufVxuXG4vKipcbiAqIGRvIGEgZmV0Y2ggb2YgbWFuaWZlc3QgYW5kIGJvb2sgb2YgdGhlIGJpYmxlIHNwZWNpZmllZCBpbiBmZXRjaFBhcmFtc1xuICogQHBhcmFtIHtzdHJpbmd9IHNlcnZlciAtIHNlcnZlciB0byBhY2Nlc3NcbiAqIEBwYXJhbSB7U2VydmVyQ29uZmlnVHlwZX0gY29uZmlnXG4gKiBAcGFyYW0ge1NjcmlwdHVyZVJlc291cmNlVHlwZX0gcmVzb3VyY2VcbiAqIEBwYXJhbSB7U2NyaXB0dXJlUmVmZXJlbmNlVHlwZX0gcmVmZXJlbmNlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEJpYmxlQm9vayhzZXJ2ZXI6IHN0cmluZywgY29uZmlnOiBTZXJ2ZXJDb25maWdUeXBlLCByZXNvdXJjZTogU2NyaXB0dXJlUmVzb3VyY2VUeXBlLCByZWZlcmVuY2U6IFNjcmlwdHVyZVJlZmVyZW5jZVR5cGUpIHtcbiAgY29uc3QgcmVmXyA9IHJlc291cmNlPy5icmFuY2ggfHwgcmVzb3VyY2U/LnJlZlxuICBjb25zdCByZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgIC4uLnJlc291cmNlLFxuICAgIHJlc291cmNlSWQ6IHJlc291cmNlPy5wcm9qZWN0SWQgfHwgJycsXG4gICAgYm9va0lkOiByZWZlcmVuY2U/LmJvb2tJZCB8fCAnJyxcbiAgICByZWY6IHJlZl8sXG4gIH0pXG5cbiAgbGV0IGZldGNoUGFyYW1zOiBCb29rRmV0Y2hQYXJhbXMgPSB7XG4gICAgY29uZmlnOiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBzZXJ2ZXIsXG4gICAgfSxcbiAgICByZXNvdXJjZSxcbiAgICByZWZlcmVuY2UsXG4gICAgcmVzb3VyY2VMaW5rLFxuICB9XG5cbiAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IGZldGNoQmlibGVCb29rQ29yZShmZXRjaFBhcmFtcylcbiAgcmV0dXJuIHJlc3VsdHNcbn1cbiJdLCJtYXBw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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "single-scripture-rcl",
3
3
  "description": "A React Component Library for Rendering a Single Scripture Resource.",
4
- "version": "3.4.16",
4
+ "version": "3.4.17",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/unfoldingWord/single-scripture-rcl.git"
@@ -28,7 +28,7 @@
28
28
  "react": "^17.x",
29
29
  "react-dom": "^17.x",
30
30
  "react-icons": "^4.8.0",
31
- "scripture-resources-rcl": "^5.2.0",
31
+ "scripture-resources-rcl": "^5.5.8",
32
32
  "tc-ui-toolkit": "^5.3.3",
33
33
  "translation-helps-rcl": "^3.4.2",
34
34
  "word-aligner": "^1.0.0",
@@ -82,7 +82,7 @@
82
82
  "react-dom": "^17.0.1",
83
83
  "react-icons": "^4.8.0",
84
84
  "react-styleguidist": "11.2.0",
85
- "scripture-resources-rcl": "^5.4.1",
85
+ "scripture-resources-rcl": "^5.5.8",
86
86
  "style-loader": "^2.0.0",
87
87
  "tc-ui-toolkit": "^5.3.3",
88
88
  "translation-helps-rcl": "^3.4.2",
@@ -103,7 +103,6 @@
103
103
  "source-map-loader": "^1.1.3",
104
104
  "styled-components": "^5.2.1",
105
105
  "ts-loader": "^8.0.12",
106
- "typescript": "^5.2.2",
107
- "uw-quote-helpers": "0.0.1-beta.15"
106
+ "typescript": "^5.2.2"
108
107
  }
109
108
  }