studiokit-scaffolding-js 7.2.0-next.2.6 → 7.2.0-next.2.8
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.
- package/lib/constants/mockData.js +3 -3
- package/lib/redux/sagas/authSaga.js +5 -5
- package/lib/services/windowService.js +2 -1
- package/lib/startup.d.ts +1 -9
- package/lib/startup.js +19 -33
- package/lib/types/SimpleLocation.d.ts +30 -18
- package/lib/types/SimpleLocation.js +1 -1
- package/package.json +1 -1
|
@@ -38,11 +38,11 @@ const defaultLocation = exports.defaultLocation = {
|
|
|
38
38
|
host: 'purdue.dev.studiokit.org',
|
|
39
39
|
hostname: 'purdue.dev.studiokit.org',
|
|
40
40
|
href: 'https://purdue.dev.studiokit.org/',
|
|
41
|
+
origin: 'https://purdue.dev.studiokit.org',
|
|
41
42
|
pathname: '/',
|
|
42
43
|
port: '',
|
|
43
44
|
protocol: 'https:',
|
|
44
|
-
search: ''
|
|
45
|
-
origin: 'https://purdue.dev.studiokit.org'
|
|
45
|
+
search: ''
|
|
46
46
|
};
|
|
47
47
|
function mockHistory() {
|
|
48
48
|
return {
|
|
@@ -434,4 +434,4 @@ const badRequestFullErrorData = exports.badRequestFullErrorData = {
|
|
|
434
434
|
};
|
|
435
435
|
|
|
436
436
|
//#endregion FetchErrorData
|
|
437
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9leHRlcm5hbFByb3ZpZGVyVHlwZSIsIl90eXBlcyIsIl9iYXNlUm9sZSIsIl90aWVyIiwiZGVmYXVsdEFwcENvbmZpZ3VyYXRpb24iLCJleHBvcnRzIiwiTk9ERV9FTlYiLCJBUFBfTkFNRSIsIlRJRVIiLCJQUk9EIiwiQVBJX0JBU0VfVVJMIiwiUk9PVF9ET01BSU4iLCJDTElFTlRfSUQiLCJDTElFTlRfU0VDUkVUIiwiSVNfRE9XTlRJTUUiLCJMTVNfTkFNRSIsIkdSQURBQkxFX0RFU0NSSVBUT1IiLCJkZWZhdWx0TG9jYXRpb24iLCJoYXNoIiwiaG9zdCIsImhvc3RuYW1lIiwiaHJlZiIsInBhdGhuYW1lIiwicG9ydCIsInByb3RvY29sIiwic2VhcmNoIiwib3JpZ2luIiwibW9ja0hpc3RvcnkiLCJsZW5ndGgiLCJzY3JvbGxSZXN0b3JhdGlvbiIsInN0YXRlIiwiYmFjayIsImplc3QiLCJmbiIsImZvcndhcmQiLCJnbyIsInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSIsInBhc3REYXRlcyIsInN0YXJ0RGF0ZSIsImVuZERhdGUiLCJjdXJyZW50RGF0ZXMiLCJkZWZhdWx0RGF0ZSIsImRlZmF1bHRVc2VyIiwidXNlckluZm8iLCJpZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiZW1haWwiLCJ1aWQiLCJhY3Rpdml0aWVzIiwicm9sZXMiLCJkYXRlRGVtb0dlbmVyYXRpb25TdWNjZWVkZWQiLCJkYXRlU3RvcmVkIiwiZGF0ZUxhc3RVcGRhdGVkIiwiaXNJbXBlcnNvbmF0ZWQiLCJjYXJlZXJBY2NvdW50QWxpYXMiLCJlbXBsb3llZU51bWJlciIsInVzZXJOYW1lIiwicHVpZCIsImxvY2tEb3duQnJvd3NlclRlc3RMYXVuY2hVcmwiLCJkZWZhdWx0TmFtZWxlc3NVc2VySW5mbyIsImRlZmF1bHROYW1lZFVzZXJJbmZvIiwibW9ja1VzZXIiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJtZXJnZSIsImRlZmF1bHRHcm91cE93bmVyVXNlckluZm8iLCJkZWZhdWx0R3JvdXBPd25lciIsInVzZXJJZCIsImVudGl0eUlkIiwicm9sZSIsIkJBU0VfUk9MRSIsIkdST1VQX09XTkVSIiwiaXNFeHRlcm5hbCIsImRlZmF1bHROYW1lbGVzc0dyb3VwTGVhcm5lciIsIkdST1VQX0xFQVJORVIiLCJkZWZhdWx0TmFtZWRHcm91cExlYXJuZXIiLCJkZWZhdWx0R3JvdXBMZWFybmVyIiwiZGVmYXVsdEV4dGVybmFsR3JvdXBMZWFybmVyIiwiZGVmYXVsdEdyb3VwR3JhZGVyIiwiR1JPVVBfR1JBREVSIiwiZGVmYXVsdEdyb3VwVXNlclJvbGVzIiwiZGVmYXVsdEFkbWluVXNlclJvbGVzIiwiQURNSU4iLCJkZWZhdWx0R3JvdXAiLCJvd25lcnMiLCJncmFkZXJzIiwibmFtZSIsImV4dGVybmFsVGVybUlkIiwiaXNEZWxldGVkIiwiaXNSb3N0ZXJTeW5jRW5hYmxlZCIsImV4dGVybmFsR3JvdXBzIiwibW9ja0dyb3VwcyIsIm1vY2tTeW5jZWRHcm91cHMiLCJyb3N0ZXJTeW5jRW5hYmxlZEdyb3VwIiwibW9ja0x0aUdyb3VwcyIsImx0aUdyb3VwIiwiZXh0ZXJuYWxQcm92aWRlcklkIiwiZ3JvdXBJZCIsImRlc2NyaXB0aW9uIiwiZ3JhZGVzVXJsIiwicm9zdGVyVXJsIiwiaXNBdXRvR3JhZGVQdXNoRW5hYmxlZCIsImV4dGVybmFsSWQiLCJ0eXBlbmFtZSIsIm1vY2tUZXJtR3JvdXBzIiwiZ3JvdXAiLCJtb2NrVGVybUFuZFVuaVRpbWVHcm91cHMiLCJtb2NrUGFzdEdyb3VwcyIsInBhc3RHcm91cCIsIm1vY2tQYXN0QW5kQ3VycmVudEdyb3VwcyIsImN1cnJlbnRHcm91cCIsImRlZmF1bHRFeHRlcm5hbFByb3ZpZGVycyIsIkVYVEVSTkFMX1BST1ZJREVSX1RZUEUiLCJVTklUSU1FIiwidGVybVN5bmNFbmFibGVkIiwicm9zdGVyU3luY0VuYWJsZWQiLCJncmFkZVB1c2hFbmFibGVkIiwic2hvdWxkRGlzcGxheUNyZWF0ZU5vbkx0aUdyb3VwQWxlcnQiLCJMVEkiLCJkZWZhdWx0RXh0ZXJuYWxUZXJtcyIsImludGVybmFsU2VydmVyRXJyb3JEYXRhIiwic3RhdHVzIiwiSFRUUF9TVEFUVVNfQ09ERSIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsInRpdGxlIiwiZGV0YWlsIiwicmVxdWVzdFRpbWVkT3V0RXJyb3JEYXRhIiwiUkVRVUVTVF9USU1FT1VUIiwiZm9yYmlkZGVuRXJyb3JEYXRhIiwiRk9SQklEREVOIiwidW5hdXRob3JpemVkRXJyb3JEYXRhIiwiVU5BVVRIT1JJWkVEIiwiYmFkUmVxdWVzdEVycm9yRGF0YSIsIkJBRF9SRVFVRVNUIiwiYmFkUmVxdWVzdEZ1bGxFcnJvckRhdGEiLCJ0eXBlIiwiaW5zdGFuY2UiLCJ0cmFjZUlkIiwiZXJyb3JzIiwicGFzc3dvcmQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RhbnRzL21vY2tEYXRhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoJ1xuaW1wb3J0IHsgRVhURVJOQUxfUFJPVklERVJfVFlQRSB9IGZyb20gJy4uL2NvbnN0YW50cy9leHRlcm5hbFByb3ZpZGVyVHlwZSdcbmltcG9ydCB7XG5cdEFwcENvbmZpZ3VyYXRpb24sXG5cdEV4dGVybmFsUHJvdmlkZXIsXG5cdEV4dGVybmFsVGVybSxcblx0RmV0Y2hFcnJvckRhdGEsXG5cdEdyb3VwLFxuXHRHcm91cFVzZXJSb2xlLFxuXHRIVFRQX1NUQVRVU19DT0RFLFxuXHRNb2RlbENvbGxlY3Rpb24sXG5cdFNpbXBsZUxvY2F0aW9uLFxuXHRVc2VySW5mbyxcblx0VXNlclJvbGVcbn0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBCQVNFX1JPTEUgfSBmcm9tICcuL2Jhc2VSb2xlJ1xuaW1wb3J0IHsgVElFUiB9IGZyb20gJy4vdGllcidcblxuLy8jcmVnaW9uIEdlbmVyYWxcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBcHBDb25maWd1cmF0aW9uOiBBcHBDb25maWd1cmF0aW9uID0ge1xuXHROT0RFX0VOVjogJ3Rlc3QnLFxuXHRBUFBfTkFNRTogJ1N0dWRpb0tpdCcsXG5cdFRJRVI6IFRJRVIuUFJPRCxcblx0QVBJX0JBU0VfVVJMOiAnJyxcblx0Uk9PVF9ET01BSU46ICdzdHVkaW9raXQub3JnJyxcblx0Q0xJRU5UX0lEOiAnd2ViJyxcblx0Q0xJRU5UX1NFQ1JFVDogJyoqKionLFxuXHRJU19ET1dOVElNRTogZmFsc2UsXG5cdExNU19OQU1FOiAnQnJpZ2h0c3BhY2UnLFxuXHRHUkFEQUJMRV9ERVNDUklQVE9SOiAnYXNzZXNzbWVudCdcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2NhdGlvbjogU2ltcGxlTG9jYXRpb24gPSB7XG5cdGhhc2g6ICcnLFxuXHRob3N0OiAncHVyZHVlLmRldi5zdHVkaW9raXQub3JnJyxcblx0aG9zdG5hbWU6ICdwdXJkdWUuZGV2LnN0dWRpb2tpdC5vcmcnLFxuXHRocmVmOiAnaHR0cHM6Ly9wdXJkdWUuZGV2LnN0dWRpb2tpdC5vcmcvJyxcblx0cGF0aG5hbWU6ICcvJyxcblx0cG9ydDogJycsXG5cdHByb3RvY29sOiAnaHR0cHM6Jyxcblx0c2VhcmNoOiAnJyxcblx0b3JpZ2luOiAnaHR0cHM6Ly9wdXJkdWUuZGV2LnN0dWRpb2tpdC5vcmcnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrSGlzdG9yeSgpOiBIaXN0b3J5IHtcblx0cmV0dXJuIHtcblx0XHRsZW5ndGg6IDAsXG5cdFx0c2Nyb2xsUmVzdG9yYXRpb246ICdhdXRvJyxcblx0XHRzdGF0ZToge30sXG5cdFx0YmFjazogamVzdC5mbigpLFxuXHRcdGZvcndhcmQ6IGplc3QuZm4oKSxcblx0XHRnbzogamVzdC5mbigpLFxuXHRcdHB1c2hTdGF0ZTogamVzdC5mbigpLFxuXHRcdHJlcGxhY2VTdGF0ZTogamVzdC5mbigpXG5cdH1cbn1cblxuLy8jZW5kcmVnaW9uIEdlbmVyYWxcblxuLy8jcmVnaW9uIERhdGVzXG5cbi8qKiA1LzE1LzE4IC0gOC8xNC8xOCAqL1xuZXhwb3J0IGNvbnN0IHBhc3REYXRlcyA9IHtcblx0c3RhcnREYXRlOiAnMjAxOC0wNS0xNVQwNDowMDowMC4wMDBaJyxcblx0ZW5kRGF0ZTogJzIwMTgtMDgtMTVUMDM6NTk6NTkuOTk5Widcbn1cblxuLyoqIDgvMTUvMTggLSAxMi8zMS8xODogKi9cbmV4cG9ydCBjb25zdCBjdXJyZW50RGF0ZXMgPSB7XG5cdHN0YXJ0RGF0ZTogJzIwMTgtMDgtMTVUMDQ6MDA6MDAuMDAwWicsXG5cdGVuZERhdGU6ICcyMDE5LTAxLTAxVDA0OjU5OjU5Ljk5OVonXG59XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgZGF0ZSBhbmQgdGltZSBmb3IgYWxsIHRlc3RzLiBVc2VkIGJ5IHRoZSAnbW9ja2RhdGUnIHBhY2thZ2UuIE9uZSBtb250aCBpbnRvIGBjdXJyZW50RGF0ZXNgLlxuICovXG5leHBvcnQgY29uc3QgZGVmYXVsdERhdGUgPSAnMjAxOC0wOS0xNVQwNDowMDowMC4wMDBaJ1xuXG4vLyNlbmRyZWdpb24gRGF0ZXNcblxuLy8jcmVnaW9uIFVzZXJzXG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VXNlciA9IHtcblx0dXNlckluZm86IHtcblx0XHRpZDogJzEnLFxuXHRcdGZpcnN0TmFtZTogbnVsbCxcblx0XHRsYXN0TmFtZTogbnVsbCxcblx0XHRlbWFpbDogbnVsbCxcblx0XHR1aWQ6IG51bGwsXG5cdFx0YWN0aXZpdGllczogW10sXG5cdFx0cm9sZXM6IFtdLFxuXHRcdGRhdGVEZW1vR2VuZXJhdGlvblN1Y2NlZWRlZDogbnVsbCxcblx0XHRkYXRlU3RvcmVkOiBkZWZhdWx0RGF0ZSxcblx0XHRkYXRlTGFzdFVwZGF0ZWQ6IGRlZmF1bHREYXRlLFxuXHRcdGlzSW1wZXJzb25hdGVkOiBmYWxzZSxcblx0XHRjYXJlZXJBY2NvdW50QWxpYXM6IG51bGwsXG5cdFx0ZW1wbG95ZWVOdW1iZXI6IG51bGwsXG5cdFx0dXNlck5hbWU6ICd0ZXN0Jyxcblx0XHRwdWlkOiBudWxsLFxuXHRcdGxvY2tEb3duQnJvd3NlclRlc3RMYXVuY2hVcmw6IG51bGxcblx0fSBhcyBVc2VySW5mb1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdE5hbWVsZXNzVXNlckluZm8gPSB7XG5cdC4uLmRlZmF1bHRVc2VyLnVzZXJJbmZvLFxuXHQuLi57XG5cdFx0ZW1haWw6ICduaWNraUBtaW5hai5zdXBlcmJhc3MnLFxuXHRcdHVpZDogJ25tLW5hbWVsZXNzJ1xuXHR9XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TmFtZWRVc2VySW5mbyA9IHtcblx0Li4uZGVmYXVsdFVzZXIudXNlckluZm8sXG5cdC4uLntcblx0XHRmaXJzdE5hbWU6ICdOaWNraScsXG5cdFx0bGFzdE5hbWU6ICdNaW5haicsXG5cdFx0dWlkOiAnbm0tbmFtZWQnXG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tVc2VyKGFjdGl2aXRpZXM6IHN0cmluZ1tdID0gW10pOiB7IHVzZXJJbmZvOiBVc2VySW5mbyB9IHtcblx0cmV0dXJuIG1lcmdlKHsgdXNlckluZm86IHsgYWN0aXZpdGllcyB9IH0sIGRlZmF1bHRVc2VyKVxufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdEdyb3VwT3duZXJVc2VySW5mbzogVXNlckluZm8gPSB7XG5cdC4uLmRlZmF1bHRVc2VyLnVzZXJJbmZvLFxuXHRpZDogJzInLFxuXHRmaXJzdE5hbWU6ICdKYW5lJyxcblx0bGFzdE5hbWU6ICdEb2UnLFxuXHRlbWFpbDogJ2phbmVAZ21haWwuY29tJ1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdEdyb3VwT3duZXI6IEdyb3VwVXNlclJvbGUgPSB7XG5cdGlkOiAnMScsXG5cdHVzZXJJZDogJzInLFxuXHRmaXJzdE5hbWU6ICdKYW5lJyxcblx0bGFzdE5hbWU6ICdEb2UnLFxuXHRlbWFpbDogJ2phbmVAZ21haWwuY29tJyxcblx0dWlkOiAnamFuZScsXG5cdGVudGl0eUlkOiAxLFxuXHRyb2xlOiBCQVNFX1JPTEUuR1JPVVBfT1dORVIsXG5cdGlzRXh0ZXJuYWw6IGZhbHNlXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TmFtZWxlc3NHcm91cExlYXJuZXI6IEdyb3VwVXNlclJvbGUgPSB7XG5cdGlkOiAnMicsXG5cdHVzZXJJZDogJzMnLFxuXHRmaXJzdE5hbWU6IG51bGwsXG5cdGxhc3ROYW1lOiBudWxsLFxuXHRlbWFpbDogJ25pY2tpQG1pbmFqLnN1cGVyYmFzcycsXG5cdHVpZDogJ25tLW5hbWVsZXNzJyxcblx0ZW50aXR5SWQ6IDEsXG5cdHJvbGU6IEJBU0VfUk9MRS5HUk9VUF9MRUFSTkVSLFxuXHRpc0V4dGVybmFsOiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdE5hbWVkR3JvdXBMZWFybmVyOiBHcm91cFVzZXJSb2xlID0ge1xuXHRpZDogJzMnLFxuXHR1c2VySWQ6ICc0Jyxcblx0Zmlyc3ROYW1lOiAnTmlja2knLFxuXHRsYXN0TmFtZTogJ01pbmFqJyxcblx0ZW1haWw6IG51bGwsXG5cdHVpZDogJ25tLW5hbWVkJyxcblx0ZW50aXR5SWQ6IDEsXG5cdHJvbGU6IEJBU0VfUk9MRS5HUk9VUF9MRUFSTkVSLFxuXHRpc0V4dGVybmFsOiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdEdyb3VwTGVhcm5lcjogR3JvdXBVc2VyUm9sZSA9IHtcblx0aWQ6ICc0Jyxcblx0dXNlcklkOiAnNScsXG5cdGZpcnN0TmFtZTogJ0pvZScsXG5cdGxhc3ROYW1lOiAnU2NobW9lJyxcblx0ZW1haWw6ICdub3BlQGdtYWlsLmNvbScsXG5cdHVpZDogJ25vcGUnLFxuXHRlbnRpdHlJZDogMSxcblx0cm9sZTogQkFTRV9ST0xFLkdST1VQX0xFQVJORVIsXG5cdGlzRXh0ZXJuYWw6IGZhbHNlXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RXh0ZXJuYWxHcm91cExlYXJuZXI6IEdyb3VwVXNlclJvbGUgPSB7XG5cdGlkOiAnNScsXG5cdHVzZXJJZDogJzYnLFxuXHRmaXJzdE5hbWU6ICdCb2InLFxuXHRsYXN0TmFtZTogJ0xvYmxhdycsXG5cdGVtYWlsOiAnYm9ibG9ibGF3QGxhd2Jsb2cuY29tJyxcblx0dWlkOiAnYm9ibG9ibGF3Jyxcblx0ZW50aXR5SWQ6IDEsXG5cdHJvbGU6IEJBU0VfUk9MRS5HUk9VUF9MRUFSTkVSLFxuXHRpc0V4dGVybmFsOiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0R3JvdXBHcmFkZXI6IEdyb3VwVXNlclJvbGUgPSB7XG5cdGlkOiAnNicsXG5cdHVzZXJJZDogJzcnLFxuXHRmaXJzdE5hbWU6ICdHcmFkZXInLFxuXHRsYXN0TmFtZTogJ01jR3JhZGVmYWNlJyxcblx0ZW1haWw6ICdncmFkZXJAZ21haWwuY29tJyxcblx0dWlkOiAnZ3JhZGVyJyxcblx0ZW50aXR5SWQ6IDEsXG5cdHJvbGU6IEJBU0VfUk9MRS5HUk9VUF9HUkFERVIsXG5cdGlzRXh0ZXJuYWw6IGZhbHNlXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0R3JvdXBVc2VyUm9sZXMgPSBbZGVmYXVsdEdyb3VwT3duZXIsIGRlZmF1bHRHcm91cExlYXJuZXIsIGRlZmF1bHRFeHRlcm5hbEdyb3VwTGVhcm5lcl1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBZG1pblVzZXJSb2xlczogVXNlclJvbGVbXSA9IFtcblx0e1xuXHRcdGlkOiAnMScsXG5cdFx0Zmlyc3ROYW1lOiAnSm9lJyxcblx0XHRsYXN0TmFtZTogJ1NjaG1vJyxcblx0XHRlbWFpbDogbnVsbCxcblx0XHR1aWQ6IG51bGwsXG5cdFx0cm9sZTogQkFTRV9ST0xFLkFETUlOXG5cdH0sXG5cdHtcblx0XHRpZDogJzInLFxuXHRcdGZpcnN0TmFtZTogbnVsbCxcblx0XHRsYXN0TmFtZTogbnVsbCxcblx0XHRlbWFpbDogJ2Nhcmx5c2ltb25AY2xvdWRzLmluLmNvZmZlZScsXG5cdFx0dWlkOiAnY2FybHlzaW1vbicsXG5cdFx0cm9sZTogQkFTRV9ST0xFLkFETUlOXG5cdH1cbl1cblxuLy8jZW5kcmVnaW9uIFVzZXJzXG5cbi8vI3JlZ2lvbiBHcm91cHNcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRHcm91cDogR3JvdXAgPSB7XG5cdHJvbGVzOiBbXSxcblx0YWN0aXZpdGllczogW10sXG5cdG93bmVyczogW1xuXHRcdHtcblx0XHRcdGlkOiAnMScsXG5cdFx0XHRlbnRpdHlJZDogMSxcblx0XHRcdGZpcnN0TmFtZTogJ0luc3RydWN0b3InLFxuXHRcdFx0bGFzdE5hbWU6ICdNY0luc3RydWN0b3InLFxuXHRcdFx0ZW1haWw6IG51bGwsXG5cdFx0XHR1aWQ6IG51bGxcblx0XHR9XG5cdF0sXG5cdGdyYWRlcnM6IFtdLFxuXHRpZDogMSxcblx0bmFtZTogJ01jR3JvdXAnLFxuXHRleHRlcm5hbFRlcm1JZDogbnVsbCxcblx0c3RhcnREYXRlOiBjdXJyZW50RGF0ZXMuc3RhcnREYXRlLFxuXHRlbmREYXRlOiBjdXJyZW50RGF0ZXMuZW5kRGF0ZSxcblx0aXNEZWxldGVkOiBmYWxzZSxcblx0aXNSb3N0ZXJTeW5jRW5hYmxlZDogZmFsc2UsXG5cdGV4dGVybmFsR3JvdXBzOiBbXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja0dyb3VwcyhhY3Rpdml0aWVzOiBzdHJpbmdbXSA9IFtdLCByb2xlczogc3RyaW5nW10gPSBbXSk6IE1vZGVsQ29sbGVjdGlvbjxHcm91cD4ge1xuXHRyZXR1cm4geyAnMSc6IG1lcmdlKHsgYWN0aXZpdGllcywgcm9sZXMgfSwgZGVmYXVsdEdyb3VwKSB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrU3luY2VkR3JvdXBzKGFjdGl2aXRpZXM6IHN0cmluZ1tdID0gW10sIHJvbGVzOiBzdHJpbmdbXSA9IFtdKTogTW9kZWxDb2xsZWN0aW9uPEdyb3VwPiB7XG5cdGNvbnN0IHJvc3RlclN5bmNFbmFibGVkR3JvdXA6IEdyb3VwID0gbWVyZ2UoeyBhY3Rpdml0aWVzLCByb2xlcyB9LCBkZWZhdWx0R3JvdXApXG5cdHJvc3RlclN5bmNFbmFibGVkR3JvdXAuaXNSb3N0ZXJTeW5jRW5hYmxlZCA9IHRydWVcblx0cmV0dXJuIHsgJzEnOiByb3N0ZXJTeW5jRW5hYmxlZEdyb3VwIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tMdGlHcm91cHMoYWN0aXZpdGllczogc3RyaW5nW10gPSBbXSwgcm9sZXM6IHN0cmluZ1tdID0gW10pOiBNb2RlbENvbGxlY3Rpb248R3JvdXA+IHtcblx0Y29uc3QgbHRpR3JvdXA6IEdyb3VwID0gbWVyZ2UoeyBhY3Rpdml0aWVzLCByb2xlcyB9LCBkZWZhdWx0R3JvdXApXG5cdGx0aUdyb3VwLmlzUm9zdGVyU3luY0VuYWJsZWQgPSB0cnVlXG5cdGx0aUdyb3VwLmV4dGVybmFsR3JvdXBzID0gW1xuXHRcdHtcblx0XHRcdGlkOiAxLFxuXHRcdFx0ZXh0ZXJuYWxQcm92aWRlcklkOiAyLFxuXHRcdFx0Z3JvdXBJZDogMSxcblx0XHRcdHVzZXJJZDogJzEnLFxuXHRcdFx0bmFtZTogJ0xUSSBFeHRlcm5hbEdyb3VwJyxcblx0XHRcdGRlc2NyaXB0aW9uOiAnTFRJIDEwMScsXG5cdFx0XHRncmFkZXNVcmw6ICd3d3cubHRpLm9yZycsXG5cdFx0XHRyb3N0ZXJVcmw6IG51bGwsXG5cdFx0XHRpc0F1dG9HcmFkZVB1c2hFbmFibGVkOiBmYWxzZSxcblx0XHRcdGV4dGVybmFsSWQ6ICcxJyxcblx0XHRcdHR5cGVuYW1lOiAnRXh0ZXJuYWxHcm91cCdcblx0XHR9XG5cdF1cblx0cmV0dXJuIHsgJzEnOiBsdGlHcm91cCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrVGVybUdyb3VwcyhhY3Rpdml0aWVzOiBzdHJpbmdbXSA9IFtdLCByb2xlczogc3RyaW5nW10gPSBbXSk6IE1vZGVsQ29sbGVjdGlvbjxHcm91cD4ge1xuXHRjb25zdCBncm91cDogR3JvdXAgPSBtZXJnZSh7IGFjdGl2aXRpZXMsIHJvbGVzIH0sIGRlZmF1bHRHcm91cClcblx0Z3JvdXAuc3RhcnREYXRlID0gbnVsbFxuXHRncm91cC5lbmREYXRlID0gbnVsbFxuXHRncm91cC5leHRlcm5hbFRlcm1JZCA9IDFcblx0cmV0dXJuIHsgJzEnOiBncm91cCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrVGVybUFuZFVuaVRpbWVHcm91cHMoYWN0aXZpdGllczogc3RyaW5nW10gPSBbXSwgcm9sZXM6IHN0cmluZ1tdID0gW10pOiBNb2RlbENvbGxlY3Rpb248R3JvdXA+IHtcblx0Y29uc3QgZ3JvdXA6IEdyb3VwID0gbWVyZ2UoeyBhY3Rpdml0aWVzLCByb2xlcyB9LCBkZWZhdWx0R3JvdXApXG5cdGdyb3VwLnN0YXJ0RGF0ZSA9IG51bGxcblx0Z3JvdXAuZW5kRGF0ZSA9IG51bGxcblx0Z3JvdXAuZXh0ZXJuYWxUZXJtSWQgPSAxXG5cdGdyb3VwLmV4dGVybmFsR3JvdXBzID0gW1xuXHRcdHtcblx0XHRcdGlkOiAxLFxuXHRcdFx0ZXh0ZXJuYWxQcm92aWRlcklkOiAxLFxuXHRcdFx0Z3JvdXBJZDogMSxcblx0XHRcdHVzZXJJZDogJzEnLFxuXHRcdFx0bmFtZTogJ1VuaVRpbWUgRXh0ZXJuYWxHcm91cCcsXG5cdFx0XHRkZXNjcmlwdGlvbjogJ1VuaVRpbWUgMTAxJyxcblx0XHRcdGdyYWRlc1VybDogbnVsbCxcblx0XHRcdHJvc3RlclVybDogbnVsbCxcblx0XHRcdGlzQXV0b0dyYWRlUHVzaEVuYWJsZWQ6IGZhbHNlLFxuXHRcdFx0ZXh0ZXJuYWxJZDogJzEnLFxuXHRcdFx0dHlwZW5hbWU6ICdFeHRlcm5hbEdyb3VwJ1xuXHRcdH1cblx0XVxuXHRyZXR1cm4geyAnMSc6IGdyb3VwIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tQYXN0R3JvdXBzKGFjdGl2aXRpZXM6IHN0cmluZ1tdID0gW10sIHJvbGVzOiBzdHJpbmdbXSA9IFtdKTogTW9kZWxDb2xsZWN0aW9uPEdyb3VwPiB7XG5cdGNvbnN0IHBhc3RHcm91cDogR3JvdXAgPSBtZXJnZSh7IGFjdGl2aXRpZXMsIHJvbGVzIH0sIGRlZmF1bHRHcm91cCwgcGFzdERhdGVzKVxuXHRyZXR1cm4geyAnMSc6IHBhc3RHcm91cCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrUGFzdEFuZEN1cnJlbnRHcm91cHMoYWN0aXZpdGllczogc3RyaW5nW10gPSBbXSwgcm9sZXM6IHN0cmluZ1tdID0gW10pOiBNb2RlbENvbGxlY3Rpb248R3JvdXA+IHtcblx0Y29uc3QgcGFzdEdyb3VwOiBHcm91cCA9IG1lcmdlKHsgYWN0aXZpdGllcywgcm9sZXMgfSwgZGVmYXVsdEdyb3VwLCBwYXN0RGF0ZXMpXG5cdGNvbnN0IGN1cnJlbnRHcm91cDogR3JvdXAgPSBtZXJnZShcblx0XHR7IGFjdGl2aXRpZXMsIHJvbGVzIH0sXG5cdFx0ZGVmYXVsdEdyb3VwLFxuXHRcdHtcblx0XHRcdGlkOiAnMidcblx0XHR9LFxuXHRcdGN1cnJlbnREYXRlc1xuXHQpXG5cdHJldHVybiB7ICcxJzogcGFzdEdyb3VwLCAnMic6IGN1cnJlbnRHcm91cCB9XG59XG5cbi8vI2VuZHJlZ2lvbiBHcm91cHNcblxuLy8jcmVnaW9uIEV4dGVybmFsVGVybXMgKyBFeHRlcm5hbFByb3ZpZGVyc1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEV4dGVybmFsUHJvdmlkZXJzOiBNb2RlbENvbGxlY3Rpb248RXh0ZXJuYWxQcm92aWRlcj4gPSB7XG5cdCcxJzoge1xuXHRcdGlkOiAxLFxuXHRcdHR5cGVuYW1lOiBFWFRFUk5BTF9QUk9WSURFUl9UWVBFLlVOSVRJTUUsXG5cdFx0dGVybVN5bmNFbmFibGVkOiB0cnVlLFxuXHRcdHJvc3RlclN5bmNFbmFibGVkOiB0cnVlLFxuXHRcdGdyYWRlUHVzaEVuYWJsZWQ6IGZhbHNlLFxuXHRcdHNob3VsZERpc3BsYXlDcmVhdGVOb25MdGlHcm91cEFsZXJ0OiBmYWxzZVxuXHR9LFxuXHQnMic6IHtcblx0XHRpZDogMixcblx0XHR0eXBlbmFtZTogRVhURVJOQUxfUFJPVklERVJfVFlQRS5MVEksXG5cdFx0dGVybVN5bmNFbmFibGVkOiBmYWxzZSxcblx0XHRyb3N0ZXJTeW5jRW5hYmxlZDogZmFsc2UsXG5cdFx0Z3JhZGVQdXNoRW5hYmxlZDogdHJ1ZSxcblx0XHRzaG91bGREaXNwbGF5Q3JlYXRlTm9uTHRpR3JvdXBBbGVydDogdHJ1ZVxuXHR9XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RXh0ZXJuYWxUZXJtczogTW9kZWxDb2xsZWN0aW9uPEV4dGVybmFsVGVybT4gPSB7XG5cdCcxJzoge1xuXHRcdGlkOiAxLFxuXHRcdGV4dGVybmFsUHJvdmlkZXJJZDogMSxcblx0XHRleHRlcm5hbElkOiAnZm9vJyxcblx0XHRuYW1lOiAnVW5pVGltZSBGYWxsIFRlcm0nLFxuXHRcdHN0YXJ0RGF0ZTogY3VycmVudERhdGVzLnN0YXJ0RGF0ZSxcblx0XHRlbmREYXRlOiBjdXJyZW50RGF0ZXMuZW5kRGF0ZVxuXHR9XG59XG5cbi8vI2VuZHJlZ2lvbiBFeHRlcm5hbFRlcm1zICsgRXh0ZXJuYWxQcm92aWRlcnNcblxuLy8jcmVnaW9uIEZldGNoRXJyb3JEYXRhXG5cbmV4cG9ydCBjb25zdCBpbnRlcm5hbFNlcnZlckVycm9yRGF0YTogRmV0Y2hFcnJvckRhdGEgPSB7XG5cdHN0YXR1czogSFRUUF9TVEFUVVNfQ09ERS5JTlRFUk5BTF9TRVJWRVJfRVJST1IsXG5cdHRpdGxlOiAnRXJyb3InLFxuXHRkZXRhaWw6ICdBbiBlcnJvciBoYXMgb2NjdXJyZWQuJ1xufVxuXG5leHBvcnQgY29uc3QgcmVxdWVzdFRpbWVkT3V0RXJyb3JEYXRhOiBGZXRjaEVycm9yRGF0YSA9IHtcblx0c3RhdHVzOiBIVFRQX1NUQVRVU19DT0RFLlJFUVVFU1RfVElNRU9VVCxcblx0dGl0bGU6ICdSZXF1ZXN0IFRpbWVvdXQnLFxuXHRkZXRhaWw6IG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IGZvcmJpZGRlbkVycm9yRGF0YTogRmV0Y2hFcnJvckRhdGEgPSB7XG5cdHN0YXR1czogSFRUUF9TVEFUVVNfQ09ERS5GT1JCSURERU4sXG5cdHRpdGxlOiAnRm9yYmlkZGVuJyxcblx0ZGV0YWlsOiAnWW91ciByZXF1ZXN0IGhhcyBiZWVuIGRlbmllZC4gWW91IGRvIG5vdCBoYXZlIGFjY2Vzcy4nXG59XG5cbmV4cG9ydCBjb25zdCB1bmF1dGhvcml6ZWRFcnJvckRhdGE6IEZldGNoRXJyb3JEYXRhID0ge1xuXHRzdGF0dXM6IEhUVFBfU1RBVFVTX0NPREUuVU5BVVRIT1JJWkVELFxuXHR0aXRsZTogJ1VuYXV0aG9yaXplZCcsXG5cdGRldGFpbDogJ1lvdXIgcmVxdWVzdCBpcyB1bmF1dGhvcml6ZWQuIFlvdSBtdXN0IGF1dGhlbnRpY2F0ZS4nXG59XG5cbmV4cG9ydCBjb25zdCBiYWRSZXF1ZXN0RXJyb3JEYXRhOiBGZXRjaEVycm9yRGF0YSA9IHtcblx0c3RhdHVzOiBIVFRQX1NUQVRVU19DT0RFLkJBRF9SRVFVRVNULFxuXHR0aXRsZTogJ0JhZCBSZXF1ZXN0Jyxcblx0ZGV0YWlsOiAnUmVhc29ucydcbn1cblxuZXhwb3J0IGNvbnN0IGJhZFJlcXVlc3RGdWxsRXJyb3JEYXRhOiBGZXRjaEVycm9yRGF0YSA9IHtcblx0c3RhdHVzOiBIVFRQX1NUQVRVU19DT0RFLkJBRF9SRVFVRVNULFxuXHR0aXRsZTogJ0JhZCBSZXF1ZXN0Jyxcblx0ZGV0YWlsOiAnUmVhc29ucycsXG5cdC8vIGluY2x1ZGUgYWxsIG9wdGlvbmFsIHByb3BlcnRpZXNcblx0dHlwZTogJ2h0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjEnLFxuXHRpbnN0YW5jZTogJ2luc3RhbmNlJyxcblx0dHJhY2VJZDogJzAwLTM5MTRiNDNiNDUyYjk0ZTNmZjRjMzI3OTIyODgwYTAzLTRjZmVkNmZlNDJhZmRkOGYtMDAnLFxuXHRlcnJvcnM6IHtcblx0XHRwYXNzd29yZDogWydUaGUgUGFzc3dvcmQgbXVzdCBiZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMgbG9uZy4nXVxuXHR9XG59XG5cbi8vI2VuZHJlZ2lvbiBGZXRjaEVycm9yRGF0YVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMscUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQWFBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEs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
|
|
437
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9leHRlcm5hbFByb3ZpZGVyVHlwZSIsIl90eXBlcyIsIl9iYXNlUm9sZSIsIl90aWVyIiwiZGVmYXVsdEFwcENvbmZpZ3VyYXRpb24iLCJleHBvcnRzIiwiTk9ERV9FTlYiLCJBUFBfTkFNRSIsIlRJRVIiLCJQUk9EIiwiQVBJX0JBU0VfVVJMIiwiUk9PVF9ET01BSU4iLCJDTElFTlRfSUQiLCJDTElFTlRfU0VDUkVUIiwiSVNfRE9XTlRJTUUiLCJMTVNfTkFNRSIsIkdSQURBQkxFX0RFU0NSSVBUT1IiLCJkZWZhdWx0TG9jYXRpb24iLCJoYXNoIiwiaG9zdCIsImhvc3RuYW1lIiwiaHJlZiIsIm9yaWdpbiIsInBhdGhuYW1lIiwicG9ydCIsInByb3RvY29sIiwic2VhcmNoIiwibW9ja0hpc3RvcnkiLCJsZW5ndGgiLCJzY3JvbGxSZXN0b3JhdGlvbiIsInN0YXRlIiwiYmFjayIsImplc3QiLCJmbiIsImZvcndhcmQiLCJnbyIsInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSIsInBhc3REYXRlcyIsInN0YXJ0RGF0ZSIsImVuZERhdGUiLCJjdXJyZW50RGF0ZXMiLCJkZWZhdWx0RGF0ZSIsImRlZmF1bHRVc2VyIiwidXNlckluZm8iLCJpZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiZW1haWwiLCJ1aWQiLCJhY3Rpdml0aWVzIiwicm9sZXMiLCJkYXRlRGVtb0dlbmVyYXRpb25TdWNjZWVkZWQiLCJkYXRlU3RvcmVkIiwiZGF0ZUxhc3RVcGRhdGVkIiwiaXNJbXBlcnNvbmF0ZWQiLCJjYXJlZXJBY2NvdW50QWxpYXMiLCJlbXBsb3llZU51bWJlciIsInVzZXJOYW1lIiwicHVpZCIsImxvY2tEb3duQnJvd3NlclRlc3RMYXVuY2hVcmwiLCJkZWZhdWx0TmFtZWxlc3NVc2VySW5mbyIsImRlZmF1bHROYW1lZFVzZXJJbmZvIiwibW9ja1VzZXIiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJtZXJnZSIsImRlZmF1bHRHcm91cE93bmVyVXNlckluZm8iLCJkZWZhdWx0R3JvdXBPd25lciIsInVzZXJJZCIsImVudGl0eUlkIiwicm9sZSIsIkJBU0VfUk9MRSIsIkdST1VQX09XTkVSIiwiaXNFeHRlcm5hbCIsImRlZmF1bHROYW1lbGVzc0dyb3VwTGVhcm5lciIsIkdST1VQX0xFQVJORVIiLCJkZWZhdWx0TmFtZWRHcm91cExlYXJuZXIiLCJkZWZhdWx0R3JvdXBMZWFybmVyIiwiZGVmYXVsdEV4dGVybmFsR3JvdXBMZWFybmVyIiwiZGVmYXVsdEdyb3VwR3JhZGVyIiwiR1JPVVBfR1JBREVSIiwiZGVmYXVsdEdyb3VwVXNlclJvbGVzIiwiZGVmYXVsdEFkbWluVXNlclJvbGVzIiwiQURNSU4iLCJkZWZhdWx0R3JvdXAiLCJvd25lcnMiLCJncmFkZXJzIiwibmFtZSIsImV4dGVybmFsVGVybUlkIiwiaXNEZWxldGVkIiwiaXNSb3N0ZXJTeW5jRW5hYmxlZCIsImV4dGVybmFsR3JvdXBzIiwibW9ja0dyb3VwcyIsIm1vY2tTeW5jZWRHcm91cHMiLCJyb3N0ZXJTeW5jRW5hYmxlZEdyb3VwIiwibW9ja0x0aUdyb3VwcyIsImx0aUdyb3VwIiwiZXh0ZXJuYWxQcm92aWRlcklkIiwiZ3JvdXBJZCIsImRlc2NyaXB0aW9uIiwiZ3JhZGVzVXJsIiwicm9zdGVyVXJsIiwiaXNBdXRvR3JhZGVQdXNoRW5hYmxlZCIsImV4dGVybmFsSWQiLCJ0eXBlbmFtZSIsIm1vY2tUZXJtR3JvdXBzIiwiZ3JvdXAiLCJtb2NrVGVybUFuZFVuaVRpbWVHcm91cHMiLCJtb2NrUGFzdEdyb3VwcyIsInBhc3RHcm91cCIsIm1vY2tQYXN0QW5kQ3VycmVudEdyb3VwcyIsImN1cnJlbnRHcm91cCIsImRlZmF1bHRFeHRlcm5hbFByb3ZpZGVycyIsIkVYVEVSTkFMX1BST1ZJREVSX1RZUEUiLCJVTklUSU1FIiwidGVybVN5bmNFbmFibGVkIiwicm9zdGVyU3luY0VuYWJsZWQiLCJncmFkZVB1c2hFbmFibGVkIiwic2hvdWxkRGlzcGxheUNyZWF0ZU5vbkx0aUdyb3VwQWxlcnQiLCJMVEkiLCJkZWZhdWx0RXh0ZXJuYWxUZXJtcyIsImludGVybmFsU2VydmVyRXJyb3JEYXRhIiwic3RhdHVzIiwiSFRUUF9TVEFUVVNfQ09ERSIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsInRpdGxlIiwiZGV0YWlsIiwicmVxdWVzdFRpbWVkT3V0RXJyb3JEYXRhIiwiUkVRVUVTVF9USU1FT1VUIiwiZm9yYmlkZGVuRXJyb3JEYXRhIiwiRk9SQklEREVOIiwidW5hdXRob3JpemVkRXJyb3JEYXRhIiwiVU5BVVRIT1JJWkVEIiwiYmFkUmVxdWVzdEVycm9yRGF0YSIsIkJBRF9SRVFVRVNUIiwiYmFkUmVxdWVzdEZ1bGxFcnJvckRhdGEiLCJ0eXBlIiwiaW5zdGFuY2UiLCJ0cmFjZUlkIiwiZXJyb3JzIiwicGFzc3dvcmQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RhbnRzL21vY2tEYXRhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoJ1xuaW1wb3J0IHsgRVhURVJOQUxfUFJPVklERVJfVFlQRSB9IGZyb20gJy4uL2NvbnN0YW50cy9leHRlcm5hbFByb3ZpZGVyVHlwZSdcbmltcG9ydCB7XG5cdEFwcENvbmZpZ3VyYXRpb24sXG5cdEV4dGVybmFsUHJvdmlkZXIsXG5cdEV4dGVybmFsVGVybSxcblx0RmV0Y2hFcnJvckRhdGEsXG5cdEdyb3VwLFxuXHRHcm91cFVzZXJSb2xlLFxuXHRIVFRQX1NUQVRVU19DT0RFLFxuXHRNb2RlbENvbGxlY3Rpb24sXG5cdFNpbXBsZUxvY2F0aW9uLFxuXHRVc2VySW5mbyxcblx0VXNlclJvbGVcbn0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBCQVNFX1JPTEUgfSBmcm9tICcuL2Jhc2VSb2xlJ1xuaW1wb3J0IHsgVElFUiB9IGZyb20gJy4vdGllcidcblxuLy8jcmVnaW9uIEdlbmVyYWxcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBcHBDb25maWd1cmF0aW9uOiBBcHBDb25maWd1cmF0aW9uID0ge1xuXHROT0RFX0VOVjogJ3Rlc3QnLFxuXHRBUFBfTkFNRTogJ1N0dWRpb0tpdCcsXG5cdFRJRVI6IFRJRVIuUFJPRCxcblx0QVBJX0JBU0VfVVJMOiAnJyxcblx0Uk9PVF9ET01BSU46ICdzdHVkaW9raXQub3JnJyxcblx0Q0xJRU5UX0lEOiAnd2ViJyxcblx0Q0xJRU5UX1NFQ1JFVDogJyoqKionLFxuXHRJU19ET1dOVElNRTogZmFsc2UsXG5cdExNU19OQU1FOiAnQnJpZ2h0c3BhY2UnLFxuXHRHUkFEQUJMRV9ERVNDUklQVE9SOiAnYXNzZXNzbWVudCdcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2NhdGlvbjogU2ltcGxlTG9jYXRpb24gPSB7XG5cdGhhc2g6ICcnLFxuXHRob3N0OiAncHVyZHVlLmRldi5zdHVkaW9raXQub3JnJyxcblx0aG9zdG5hbWU6ICdwdXJkdWUuZGV2LnN0dWRpb2tpdC5vcmcnLFxuXHRocmVmOiAnaHR0cHM6Ly9wdXJkdWUuZGV2LnN0dWRpb2tpdC5vcmcvJyxcblx0b3JpZ2luOiAnaHR0cHM6Ly9wdXJkdWUuZGV2LnN0dWRpb2tpdC5vcmcnLFxuXHRwYXRobmFtZTogJy8nLFxuXHRwb3J0OiAnJyxcblx0cHJvdG9jb2w6ICdodHRwczonLFxuXHRzZWFyY2g6ICcnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrSGlzdG9yeSgpOiBIaXN0b3J5IHtcblx0cmV0dXJuIHtcblx0XHRsZW5ndGg6IDAsXG5cdFx0c2Nyb2xsUmVzdG9yYXRpb246ICdhdXRvJyxcblx0XHRzdGF0ZToge30sXG5cdFx0YmFjazogamVzdC5mbigpLFxuXHRcdGZvcndhcmQ6IGplc3QuZm4oKSxcblx0XHRnbzogamVzdC5mbigpLFxuXHRcdHB1c2hTdGF0ZTogamVzdC5mbigpLFxuXHRcdHJlcGxhY2VTdGF0ZTogamVzdC5mbigpXG5cdH1cbn1cblxuLy8jZW5kcmVnaW9uIEdlbmVyYWxcblxuLy8jcmVnaW9uIERhdGVzXG5cbi8qKiA1LzE1LzE4IC0gOC8xNC8xOCAqL1xuZXhwb3J0IGNvbnN0IHBhc3REYXRlcyA9IHtcblx0c3RhcnREYXRlOiAnMjAxOC0wNS0xNVQwNDowMDowMC4wMDBaJyxcblx0ZW5kRGF0ZTogJzIwMTgtMDgtMTVUMDM6NTk6NTkuOTk5Widcbn1cblxuLyoqIDgvMTUvMTggLSAxMi8zMS8xODogKi9cbmV4cG9ydCBjb25zdCBjdXJyZW50RGF0ZXMgPSB7XG5cdHN0YXJ0RGF0ZTogJzIwMTgtMDgtMTVUMDQ6MDA6MDAuMDAwWicsXG5cdGVuZERhdGU6ICcyMDE5LTAxLTAxVDA0OjU5OjU5Ljk5OVonXG59XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgZGF0ZSBhbmQgdGltZSBmb3IgYWxsIHRlc3RzLiBVc2VkIGJ5IHRoZSAnbW9ja2RhdGUnIHBhY2thZ2UuIE9uZSBtb250aCBpbnRvIGBjdXJyZW50RGF0ZXNgLlxuICovXG5leHBvcnQgY29uc3QgZGVmYXVsdERhdGUgPSAnMjAxOC0wOS0xNVQwNDowMDowMC4wMDBaJ1xuXG4vLyNlbmRyZWdpb24gRGF0ZXNcblxuLy8jcmVnaW9uIFVzZXJzXG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VXNlciA9IHtcblx0dXNlckluZm86IHtcblx0XHRpZDogJzEnLFxuXHRcdGZpcnN0TmFtZTogbnVsbCxcblx0XHRsYXN0TmFtZTogbnVsbCxcblx0XHRlbWFpbDogbnVsbCxcblx0XHR1aWQ6IG51bGwsXG5cdFx0YWN0aXZpdGllczogW10sXG5cdFx0cm9sZXM6IFtdLFxuXHRcdGRhdGVEZW1vR2VuZXJhdGlvblN1Y2NlZWRlZDogbnVsbCxcblx0XHRkYXRlU3RvcmVkOiBkZWZhdWx0RGF0ZSxcblx0XHRkYXRlTGFzdFVwZGF0ZWQ6IGRlZmF1bHREYXRlLFxuXHRcdGlzSW1wZXJzb25hdGVkOiBmYWxzZSxcblx0XHRjYXJlZXJBY2NvdW50QWxpYXM6IG51bGwsXG5cdFx0ZW1wbG95ZWVOdW1iZXI6IG51bGwsXG5cdFx0dXNlck5hbWU6ICd0ZXN0Jyxcblx0XHRwdWlkOiBudWxsLFxuXHRcdGxvY2tEb3duQnJvd3NlclRlc3RMYXVuY2hVcmw6IG51bGxcblx0fSBhcyBVc2VySW5mb1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdE5hbWVsZXNzVXNlckluZm8gPSB7XG5cdC4uLmRlZmF1bHRVc2VyLnVzZXJJbmZvLFxuXHQuLi57XG5cdFx0ZW1haWw6ICduaWNraUBtaW5hai5zdXBlcmJhc3MnLFxuXHRcdHVpZDogJ25tLW5hbWVsZXNzJ1xuXHR9XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TmFtZWRVc2VySW5mbyA9IHtcblx0Li4uZGVmYXVsdFVzZXIudXNlckluZm8sXG5cdC4uLntcblx0XHRmaXJzdE5hbWU6ICdOaWNraScsXG5cdFx0bGFzdE5hbWU6ICdNaW5haicsXG5cdFx0dWlkOiAnbm0tbmFtZWQnXG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tVc2VyKGFjdGl2aXRpZXM6IHN0cmluZ1tdID0gW10pOiB7IHVzZXJJbmZvOiBVc2VySW5mbyB9IHtcblx0cmV0dXJuIG1lcmdlKHsgdXNlckluZm86IHsgYWN0aXZpdGllcyB9IH0sIGRlZmF1bHRVc2VyKVxufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdEdyb3VwT3duZXJVc2VySW5mbzogVXNlckluZm8gPSB7XG5cdC4uLmRlZmF1bHRVc2VyLnVzZXJJbmZvLFxuXHRpZDogJzInLFxuXHRmaXJzdE5hbWU6ICdKYW5lJyxcblx0bGFzdE5hbWU6ICdEb2UnLFxuXHRlbWFpbDogJ2phbmVAZ21haWwuY29tJ1xufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdEdyb3VwT3duZXI6IEdyb3VwVXNlclJvbGUgPSB7XG5cdGlkOiAnMScsXG5cdHVzZXJJZDogJzInLFxuXHRmaXJzdE5hbWU6ICdKYW5lJyxcblx0bGFzdE5hbWU6ICdEb2UnLFxuXHRlbWFpbDogJ2phbmVAZ21haWwuY29tJyxcblx0dWlkOiAnamFuZScsXG5cdGVudGl0eUlkOiAxLFxuXHRyb2xlOiBCQVNFX1JPTEUuR1JPVVBfT1dORVIsXG5cdGlzRXh0ZXJuYWw6IGZhbHNlXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TmFtZWxlc3NHcm91cExlYXJuZXI6IEdyb3VwVXNlclJvbGUgPSB7XG5cdGlkOiAnMicsXG5cdHVzZXJJZDogJzMnLFxuXHRmaXJzdE5hbWU6IG51bGwsXG5cdGxhc3ROYW1lOiBudWxsLFxuXHRlbWFpbDogJ25pY2tpQG1pbmFqLnN1cGVyYmFzcycsXG5cdHVpZDogJ25tLW5hbWVsZXNzJyxcblx0ZW50aXR5SWQ6IDEsXG5cdHJvbGU6IEJBU0VfUk9MRS5HUk9VUF9MRUFSTkVSLFxuXHRpc0V4dGVybmFsOiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdE5hbWVkR3JvdXBMZWFybmVyOiBHcm91cFVzZXJSb2xlID0ge1xuXHRpZDogJzMnLFxuXHR1c2VySWQ6ICc0Jyxcblx0Zmlyc3ROYW1lOiAnTmlja2knLFxuXHRsYXN0TmFtZTogJ01pbmFqJyxcblx0ZW1haWw6IG51bGwsXG5cdHVpZDogJ25tLW5hbWVkJyxcblx0ZW50aXR5SWQ6IDEsXG5cdHJvbGU6IEJBU0VfUk9MRS5HUk9VUF9MRUFSTkVSLFxuXHRpc0V4dGVybmFsOiBmYWxzZVxufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdEdyb3VwTGVhcm5lcjogR3JvdXBVc2VyUm9sZSA9IHtcblx0aWQ6ICc0Jyxcblx0dXNlcklkOiAnNScsXG5cdGZpcnN0TmFtZTogJ0pvZScsXG5cdGxhc3ROYW1lOiAnU2NobW9lJyxcblx0ZW1haWw6ICdub3BlQGdtYWlsLmNvbScsXG5cdHVpZDogJ25vcGUnLFxuXHRlbnRpdHlJZDogMSxcblx0cm9sZTogQkFTRV9ST0xFLkdST1VQX0xFQVJORVIsXG5cdGlzRXh0ZXJuYWw6IGZhbHNlXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RXh0ZXJuYWxHcm91cExlYXJuZXI6IEdyb3VwVXNlclJvbGUgPSB7XG5cdGlkOiAnNScsXG5cdHVzZXJJZDogJzYnLFxuXHRmaXJzdE5hbWU6ICdCb2InLFxuXHRsYXN0TmFtZTogJ0xvYmxhdycsXG5cdGVtYWlsOiAnYm9ibG9ibGF3QGxhd2Jsb2cuY29tJyxcblx0dWlkOiAnYm9ibG9ibGF3Jyxcblx0ZW50aXR5SWQ6IDEsXG5cdHJvbGU6IEJBU0VfUk9MRS5HUk9VUF9MRUFSTkVSLFxuXHRpc0V4dGVybmFsOiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0R3JvdXBHcmFkZXI6IEdyb3VwVXNlclJvbGUgPSB7XG5cdGlkOiAnNicsXG5cdHVzZXJJZDogJzcnLFxuXHRmaXJzdE5hbWU6ICdHcmFkZXInLFxuXHRsYXN0TmFtZTogJ01jR3JhZGVmYWNlJyxcblx0ZW1haWw6ICdncmFkZXJAZ21haWwuY29tJyxcblx0dWlkOiAnZ3JhZGVyJyxcblx0ZW50aXR5SWQ6IDEsXG5cdHJvbGU6IEJBU0VfUk9MRS5HUk9VUF9HUkFERVIsXG5cdGlzRXh0ZXJuYWw6IGZhbHNlXG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0R3JvdXBVc2VyUm9sZXMgPSBbZGVmYXVsdEdyb3VwT3duZXIsIGRlZmF1bHRHcm91cExlYXJuZXIsIGRlZmF1bHRFeHRlcm5hbEdyb3VwTGVhcm5lcl1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBZG1pblVzZXJSb2xlczogVXNlclJvbGVbXSA9IFtcblx0e1xuXHRcdGlkOiAnMScsXG5cdFx0Zmlyc3ROYW1lOiAnSm9lJyxcblx0XHRsYXN0TmFtZTogJ1NjaG1vJyxcblx0XHRlbWFpbDogbnVsbCxcblx0XHR1aWQ6IG51bGwsXG5cdFx0cm9sZTogQkFTRV9ST0xFLkFETUlOXG5cdH0sXG5cdHtcblx0XHRpZDogJzInLFxuXHRcdGZpcnN0TmFtZTogbnVsbCxcblx0XHRsYXN0TmFtZTogbnVsbCxcblx0XHRlbWFpbDogJ2Nhcmx5c2ltb25AY2xvdWRzLmluLmNvZmZlZScsXG5cdFx0dWlkOiAnY2FybHlzaW1vbicsXG5cdFx0cm9sZTogQkFTRV9ST0xFLkFETUlOXG5cdH1cbl1cblxuLy8jZW5kcmVnaW9uIFVzZXJzXG5cbi8vI3JlZ2lvbiBHcm91cHNcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRHcm91cDogR3JvdXAgPSB7XG5cdHJvbGVzOiBbXSxcblx0YWN0aXZpdGllczogW10sXG5cdG93bmVyczogW1xuXHRcdHtcblx0XHRcdGlkOiAnMScsXG5cdFx0XHRlbnRpdHlJZDogMSxcblx0XHRcdGZpcnN0TmFtZTogJ0luc3RydWN0b3InLFxuXHRcdFx0bGFzdE5hbWU6ICdNY0luc3RydWN0b3InLFxuXHRcdFx0ZW1haWw6IG51bGwsXG5cdFx0XHR1aWQ6IG51bGxcblx0XHR9XG5cdF0sXG5cdGdyYWRlcnM6IFtdLFxuXHRpZDogMSxcblx0bmFtZTogJ01jR3JvdXAnLFxuXHRleHRlcm5hbFRlcm1JZDogbnVsbCxcblx0c3RhcnREYXRlOiBjdXJyZW50RGF0ZXMuc3RhcnREYXRlLFxuXHRlbmREYXRlOiBjdXJyZW50RGF0ZXMuZW5kRGF0ZSxcblx0aXNEZWxldGVkOiBmYWxzZSxcblx0aXNSb3N0ZXJTeW5jRW5hYmxlZDogZmFsc2UsXG5cdGV4dGVybmFsR3JvdXBzOiBbXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja0dyb3VwcyhhY3Rpdml0aWVzOiBzdHJpbmdbXSA9IFtdLCByb2xlczogc3RyaW5nW10gPSBbXSk6IE1vZGVsQ29sbGVjdGlvbjxHcm91cD4ge1xuXHRyZXR1cm4geyAnMSc6IG1lcmdlKHsgYWN0aXZpdGllcywgcm9sZXMgfSwgZGVmYXVsdEdyb3VwKSB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrU3luY2VkR3JvdXBzKGFjdGl2aXRpZXM6IHN0cmluZ1tdID0gW10sIHJvbGVzOiBzdHJpbmdbXSA9IFtdKTogTW9kZWxDb2xsZWN0aW9uPEdyb3VwPiB7XG5cdGNvbnN0IHJvc3RlclN5bmNFbmFibGVkR3JvdXA6IEdyb3VwID0gbWVyZ2UoeyBhY3Rpdml0aWVzLCByb2xlcyB9LCBkZWZhdWx0R3JvdXApXG5cdHJvc3RlclN5bmNFbmFibGVkR3JvdXAuaXNSb3N0ZXJTeW5jRW5hYmxlZCA9IHRydWVcblx0cmV0dXJuIHsgJzEnOiByb3N0ZXJTeW5jRW5hYmxlZEdyb3VwIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tMdGlHcm91cHMoYWN0aXZpdGllczogc3RyaW5nW10gPSBbXSwgcm9sZXM6IHN0cmluZ1tdID0gW10pOiBNb2RlbENvbGxlY3Rpb248R3JvdXA+IHtcblx0Y29uc3QgbHRpR3JvdXA6IEdyb3VwID0gbWVyZ2UoeyBhY3Rpdml0aWVzLCByb2xlcyB9LCBkZWZhdWx0R3JvdXApXG5cdGx0aUdyb3VwLmlzUm9zdGVyU3luY0VuYWJsZWQgPSB0cnVlXG5cdGx0aUdyb3VwLmV4dGVybmFsR3JvdXBzID0gW1xuXHRcdHtcblx0XHRcdGlkOiAxLFxuXHRcdFx0ZXh0ZXJuYWxQcm92aWRlcklkOiAyLFxuXHRcdFx0Z3JvdXBJZDogMSxcblx0XHRcdHVzZXJJZDogJzEnLFxuXHRcdFx0bmFtZTogJ0xUSSBFeHRlcm5hbEdyb3VwJyxcblx0XHRcdGRlc2NyaXB0aW9uOiAnTFRJIDEwMScsXG5cdFx0XHRncmFkZXNVcmw6ICd3d3cubHRpLm9yZycsXG5cdFx0XHRyb3N0ZXJVcmw6IG51bGwsXG5cdFx0XHRpc0F1dG9HcmFkZVB1c2hFbmFibGVkOiBmYWxzZSxcblx0XHRcdGV4dGVybmFsSWQ6ICcxJyxcblx0XHRcdHR5cGVuYW1lOiAnRXh0ZXJuYWxHcm91cCdcblx0XHR9XG5cdF1cblx0cmV0dXJuIHsgJzEnOiBsdGlHcm91cCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrVGVybUdyb3VwcyhhY3Rpdml0aWVzOiBzdHJpbmdbXSA9IFtdLCByb2xlczogc3RyaW5nW10gPSBbXSk6IE1vZGVsQ29sbGVjdGlvbjxHcm91cD4ge1xuXHRjb25zdCBncm91cDogR3JvdXAgPSBtZXJnZSh7IGFjdGl2aXRpZXMsIHJvbGVzIH0sIGRlZmF1bHRHcm91cClcblx0Z3JvdXAuc3RhcnREYXRlID0gbnVsbFxuXHRncm91cC5lbmREYXRlID0gbnVsbFxuXHRncm91cC5leHRlcm5hbFRlcm1JZCA9IDFcblx0cmV0dXJuIHsgJzEnOiBncm91cCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrVGVybUFuZFVuaVRpbWVHcm91cHMoYWN0aXZpdGllczogc3RyaW5nW10gPSBbXSwgcm9sZXM6IHN0cmluZ1tdID0gW10pOiBNb2RlbENvbGxlY3Rpb248R3JvdXA+IHtcblx0Y29uc3QgZ3JvdXA6IEdyb3VwID0gbWVyZ2UoeyBhY3Rpdml0aWVzLCByb2xlcyB9LCBkZWZhdWx0R3JvdXApXG5cdGdyb3VwLnN0YXJ0RGF0ZSA9IG51bGxcblx0Z3JvdXAuZW5kRGF0ZSA9IG51bGxcblx0Z3JvdXAuZXh0ZXJuYWxUZXJtSWQgPSAxXG5cdGdyb3VwLmV4dGVybmFsR3JvdXBzID0gW1xuXHRcdHtcblx0XHRcdGlkOiAxLFxuXHRcdFx0ZXh0ZXJuYWxQcm92aWRlcklkOiAxLFxuXHRcdFx0Z3JvdXBJZDogMSxcblx0XHRcdHVzZXJJZDogJzEnLFxuXHRcdFx0bmFtZTogJ1VuaVRpbWUgRXh0ZXJuYWxHcm91cCcsXG5cdFx0XHRkZXNjcmlwdGlvbjogJ1VuaVRpbWUgMTAxJyxcblx0XHRcdGdyYWRlc1VybDogbnVsbCxcblx0XHRcdHJvc3RlclVybDogbnVsbCxcblx0XHRcdGlzQXV0b0dyYWRlUHVzaEVuYWJsZWQ6IGZhbHNlLFxuXHRcdFx0ZXh0ZXJuYWxJZDogJzEnLFxuXHRcdFx0dHlwZW5hbWU6ICdFeHRlcm5hbEdyb3VwJ1xuXHRcdH1cblx0XVxuXHRyZXR1cm4geyAnMSc6IGdyb3VwIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tQYXN0R3JvdXBzKGFjdGl2aXRpZXM6IHN0cmluZ1tdID0gW10sIHJvbGVzOiBzdHJpbmdbXSA9IFtdKTogTW9kZWxDb2xsZWN0aW9uPEdyb3VwPiB7XG5cdGNvbnN0IHBhc3RHcm91cDogR3JvdXAgPSBtZXJnZSh7IGFjdGl2aXRpZXMsIHJvbGVzIH0sIGRlZmF1bHRHcm91cCwgcGFzdERhdGVzKVxuXHRyZXR1cm4geyAnMSc6IHBhc3RHcm91cCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrUGFzdEFuZEN1cnJlbnRHcm91cHMoYWN0aXZpdGllczogc3RyaW5nW10gPSBbXSwgcm9sZXM6IHN0cmluZ1tdID0gW10pOiBNb2RlbENvbGxlY3Rpb248R3JvdXA+IHtcblx0Y29uc3QgcGFzdEdyb3VwOiBHcm91cCA9IG1lcmdlKHsgYWN0aXZpdGllcywgcm9sZXMgfSwgZGVmYXVsdEdyb3VwLCBwYXN0RGF0ZXMpXG5cdGNvbnN0IGN1cnJlbnRHcm91cDogR3JvdXAgPSBtZXJnZShcblx0XHR7IGFjdGl2aXRpZXMsIHJvbGVzIH0sXG5cdFx0ZGVmYXVsdEdyb3VwLFxuXHRcdHtcblx0XHRcdGlkOiAnMidcblx0XHR9LFxuXHRcdGN1cnJlbnREYXRlc1xuXHQpXG5cdHJldHVybiB7ICcxJzogcGFzdEdyb3VwLCAnMic6IGN1cnJlbnRHcm91cCB9XG59XG5cbi8vI2VuZHJlZ2lvbiBHcm91cHNcblxuLy8jcmVnaW9uIEV4dGVybmFsVGVybXMgKyBFeHRlcm5hbFByb3ZpZGVyc1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEV4dGVybmFsUHJvdmlkZXJzOiBNb2RlbENvbGxlY3Rpb248RXh0ZXJuYWxQcm92aWRlcj4gPSB7XG5cdCcxJzoge1xuXHRcdGlkOiAxLFxuXHRcdHR5cGVuYW1lOiBFWFRFUk5BTF9QUk9WSURFUl9UWVBFLlVOSVRJTUUsXG5cdFx0dGVybVN5bmNFbmFibGVkOiB0cnVlLFxuXHRcdHJvc3RlclN5bmNFbmFibGVkOiB0cnVlLFxuXHRcdGdyYWRlUHVzaEVuYWJsZWQ6IGZhbHNlLFxuXHRcdHNob3VsZERpc3BsYXlDcmVhdGVOb25MdGlHcm91cEFsZXJ0OiBmYWxzZVxuXHR9LFxuXHQnMic6IHtcblx0XHRpZDogMixcblx0XHR0eXBlbmFtZTogRVhURVJOQUxfUFJPVklERVJfVFlQRS5MVEksXG5cdFx0dGVybVN5bmNFbmFibGVkOiBmYWxzZSxcblx0XHRyb3N0ZXJTeW5jRW5hYmxlZDogZmFsc2UsXG5cdFx0Z3JhZGVQdXNoRW5hYmxlZDogdHJ1ZSxcblx0XHRzaG91bGREaXNwbGF5Q3JlYXRlTm9uTHRpR3JvdXBBbGVydDogdHJ1ZVxuXHR9XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0RXh0ZXJuYWxUZXJtczogTW9kZWxDb2xsZWN0aW9uPEV4dGVybmFsVGVybT4gPSB7XG5cdCcxJzoge1xuXHRcdGlkOiAxLFxuXHRcdGV4dGVybmFsUHJvdmlkZXJJZDogMSxcblx0XHRleHRlcm5hbElkOiAnZm9vJyxcblx0XHRuYW1lOiAnVW5pVGltZSBGYWxsIFRlcm0nLFxuXHRcdHN0YXJ0RGF0ZTogY3VycmVudERhdGVzLnN0YXJ0RGF0ZSxcblx0XHRlbmREYXRlOiBjdXJyZW50RGF0ZXMuZW5kRGF0ZVxuXHR9XG59XG5cbi8vI2VuZHJlZ2lvbiBFeHRlcm5hbFRlcm1zICsgRXh0ZXJuYWxQcm92aWRlcnNcblxuLy8jcmVnaW9uIEZldGNoRXJyb3JEYXRhXG5cbmV4cG9ydCBjb25zdCBpbnRlcm5hbFNlcnZlckVycm9yRGF0YTogRmV0Y2hFcnJvckRhdGEgPSB7XG5cdHN0YXR1czogSFRUUF9TVEFUVVNfQ09ERS5JTlRFUk5BTF9TRVJWRVJfRVJST1IsXG5cdHRpdGxlOiAnRXJyb3InLFxuXHRkZXRhaWw6ICdBbiBlcnJvciBoYXMgb2NjdXJyZWQuJ1xufVxuXG5leHBvcnQgY29uc3QgcmVxdWVzdFRpbWVkT3V0RXJyb3JEYXRhOiBGZXRjaEVycm9yRGF0YSA9IHtcblx0c3RhdHVzOiBIVFRQX1NUQVRVU19DT0RFLlJFUVVFU1RfVElNRU9VVCxcblx0dGl0bGU6ICdSZXF1ZXN0IFRpbWVvdXQnLFxuXHRkZXRhaWw6IG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IGZvcmJpZGRlbkVycm9yRGF0YTogRmV0Y2hFcnJvckRhdGEgPSB7XG5cdHN0YXR1czogSFRUUF9TVEFUVVNfQ09ERS5GT1JCSURERU4sXG5cdHRpdGxlOiAnRm9yYmlkZGVuJyxcblx0ZGV0YWlsOiAnWW91ciByZXF1ZXN0IGhhcyBiZWVuIGRlbmllZC4gWW91IGRvIG5vdCBoYXZlIGFjY2Vzcy4nXG59XG5cbmV4cG9ydCBjb25zdCB1bmF1dGhvcml6ZWRFcnJvckRhdGE6IEZldGNoRXJyb3JEYXRhID0ge1xuXHRzdGF0dXM6IEhUVFBfU1RBVFVTX0NPREUuVU5BVVRIT1JJWkVELFxuXHR0aXRsZTogJ1VuYXV0aG9yaXplZCcsXG5cdGRldGFpbDogJ1lvdXIgcmVxdWVzdCBpcyB1bmF1dGhvcml6ZWQuIFlvdSBtdXN0IGF1dGhlbnRpY2F0ZS4nXG59XG5cbmV4cG9ydCBjb25zdCBiYWRSZXF1ZXN0RXJyb3JEYXRhOiBGZXRjaEVycm9yRGF0YSA9IHtcblx0c3RhdHVzOiBIVFRQX1NUQVRVU19DT0RFLkJBRF9SRVFVRVNULFxuXHR0aXRsZTogJ0JhZCBSZXF1ZXN0Jyxcblx0ZGV0YWlsOiAnUmVhc29ucydcbn1cblxuZXhwb3J0IGNvbnN0IGJhZFJlcXVlc3RGdWxsRXJyb3JEYXRhOiBGZXRjaEVycm9yRGF0YSA9IHtcblx0c3RhdHVzOiBIVFRQX1NUQVRVU19DT0RFLkJBRF9SRVFVRVNULFxuXHR0aXRsZTogJ0JhZCBSZXF1ZXN0Jyxcblx0ZGV0YWlsOiAnUmVhc29ucycsXG5cdC8vIGluY2x1ZGUgYWxsIG9wdGlvbmFsIHByb3BlcnRpZXNcblx0dHlwZTogJ2h0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjEnLFxuXHRpbnN0YW5jZTogJ2luc3RhbmNlJyxcblx0dHJhY2VJZDogJzAwLTM5MTRiNDNiNDUyYjk0ZTNmZjRjMzI3OTIyODgwYTAzLTRjZmVkNmZlNDJhZmRkOGYtMDAnLFxuXHRlcnJvcnM6IHtcblx0XHRwYXNzd29yZDogWydUaGUgUGFzc3dvcmQgbXVzdCBiZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMgbG9uZy4nXVxuXHR9XG59XG5cbi8vI2VuZHJlZ2lvbiBGZXRjaEVycm9yRGF0YVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMscUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQWFBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEs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
|
|
@@ -65,7 +65,7 @@ function* getTokenFromCode(code) {
|
|
|
65
65
|
yield (0, _effects.put)({
|
|
66
66
|
type: _actions.MODEL_FETCH_REQUEST_ACTION_TYPE.FETCH_REQUEST,
|
|
67
67
|
modelName: getTokenModelName,
|
|
68
|
-
body: formBody,
|
|
68
|
+
body: formBody.toString(),
|
|
69
69
|
noStore: true
|
|
70
70
|
});
|
|
71
71
|
const {
|
|
@@ -113,7 +113,7 @@ function* getTokenFromCodeAndState(code, state) {
|
|
|
113
113
|
yield (0, _effects.put)({
|
|
114
114
|
type: _actions.MODEL_FETCH_REQUEST_ACTION_TYPE.FETCH_REQUEST,
|
|
115
115
|
modelName: getTokenModelName,
|
|
116
|
-
body: formBody,
|
|
116
|
+
body: formBody.toString(),
|
|
117
117
|
noStore: true
|
|
118
118
|
});
|
|
119
119
|
const {
|
|
@@ -131,7 +131,7 @@ function* getTokenFromCodeAndState(code, state) {
|
|
|
131
131
|
function* getTokenFromRefreshToken(oauthTokenParam) {
|
|
132
132
|
const appConfig = (0, _constants.getAppConfig)();
|
|
133
133
|
if (!appConfig.CLIENT_ID) {
|
|
134
|
-
throw new Error('CLIENT_ID
|
|
134
|
+
throw new Error('CLIENT_ID is required in AppConfig');
|
|
135
135
|
}
|
|
136
136
|
const getTokenModelName = 'getToken';
|
|
137
137
|
const formBody = new URLSearchParams({
|
|
@@ -146,7 +146,7 @@ function* getTokenFromRefreshToken(oauthTokenParam) {
|
|
|
146
146
|
yield (0, _effects.put)({
|
|
147
147
|
type: _actions.MODEL_FETCH_REQUEST_ACTION_TYPE.FETCH_REQUEST,
|
|
148
148
|
modelName: getTokenModelName,
|
|
149
|
-
body: formBody,
|
|
149
|
+
body: formBody.toString(),
|
|
150
150
|
noStore: true
|
|
151
151
|
});
|
|
152
152
|
const {
|
|
@@ -411,4 +411,4 @@ function authSaga() {
|
|
|
411
411
|
} while (true);
|
|
412
412
|
}();
|
|
413
413
|
}
|
|
414
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZWZmZWN0cyIsInJlcXVpcmUiLCJfdXVpZCIsIl9jb25zdGFudHMiLCJfY29kZVByb3ZpZGVyU2VydmljZSIsIl9vYXV0aFBlcnNpc3RlbmNlU2VydmljZSIsIl90aWNrZXRQcm92aWRlclNlcnZpY2UiLCJfd2luZG93U2VydmljZSIsIl90eXBlcyIsIl9sb2dnZXIiLCJfdXJsIiwiX2FjdGlvbnMiLCJtYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkIiwiYWN0aW9uIiwibW9kZWxOYW1lIiwiaXNUcmFuc2llbnRNb2RlbEZldGNoUmVzdWx0QWN0aW9uIiwibW9kZWxQYXRoIiwiZXhwb3J0cyIsInRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkIiwiaW5jb21pbmdBY3Rpb24iLCJtYXRjaGVzTW9kZWxGZXRjaEZhaWxlZCIsImlzVHJhbnNpZW50TW9kZWxGZXRjaEVycm9yQWN0aW9uIiwidGFrZU1hdGNoZXNNb2RlbEZldGNoRmFpbGVkIiwib2F1dGhUb2tlbiIsIm9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlIiwicmVmcmVzaExvY2siLCJsb2dnZXIiLCJnZXRUb2tlbkZyb21Db2RlIiwiY29kZSIsImFwcENvbmZpZyIsImdldEFwcENvbmZpZyIsIkNMSUVOVF9JRCIsIkNMSUVOVF9TRUNSRVQiLCJFcnJvciIsImdldFRva2VuTW9kZWxOYW1lIiwiZm9ybUJvZHkiLCJVUkxTZWFyY2hQYXJhbXMiLCJncmFudF90eXBlIiwiY2xpZW50X2lkIiwiY2xpZW50X3NlY3JldCIsInB1dCIsInR5cGUiLCJNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFIiwiRkVUQ0hfUkVRVUVTVCIsImJvZHkiLCJub1N0b3JlIiwiZmV0Y2hSZXN1bHRBY3Rpb24iLCJmZXRjaEVycm9yQWN0aW9uIiwicmFjZSIsInRha2UiLCJkYXRhIiwiZ2V0VG9rZW5Gcm9tQ29kZUFuZFN0YXRlIiwic3RhdGUiLCJPQVVUSF9QS0NFX1NDT1BFIiwiT0FVVEhfUEtDRV9FTkRQT0lOVCIsImNvZGVWZXJpZmllciIsImNhbGwiLCJnZXRQZXJzaXN0ZWRDb2RlVmVyaWZpZXIiLCJwZXJzaXN0ZWRTdGF0ZSIsImdldFBlcnNpc3RlZFN0YXRlIiwicGVyc2lzdFN0YXRlIiwicGVyc2lzdENvZGVWZXJpZmllciIsImxvY2F0aW9uIiwid2luZG93U2VydmljZSIsImdldExvY2F0aW9uIiwic2NvcGUiLCJjb2RlX3ZlcmlmaWVyIiwicmVkaXJlY3RfdXJpIiwib3JpZ2luIiwiZ2V0VG9rZW5Gcm9tUmVmcmVzaFRva2VuIiwib2F1dGhUb2tlblBhcmFtIiwicmVmcmVzaF90b2tlbiIsImFwcGVuZCIsImVycm9yRGF0YSIsInN0YXR1cyIsIkhUVFBfU1RBVFVTX0NPREUiLCJJTlRFUk5BTF9TRVJWRVJfRVJST1IiLCJwZXJmb3JtVG9rZW5SZWZyZXNoIiwicmVmcmVzaFN1Y2Nlc3MiLCJBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUiLCJUT0tFTl9SRUZSRVNIX1NVQ0NFRURFRCIsInJlZnJlc2hGYWlsZWQiLCJBVVRIX0FDVElPTl9UWVBFIiwiVE9LRU5fUkVGUkVTSF9GQUlMRUQiLCJkZWJ1ZyIsIm9yaWdpbmFsQWNjZXNzVG9rZW4iLCJhY2Nlc3NfdG9rZW4iLCJwZXJzaXN0VG9rZW4iLCJhbGwiLCJsb2dPdXQiLCJMT0dfT1VUX1JFUVVFU1RFRCIsImxvZ2luRmxvdyIsIm1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uIiwiY3JlZGVudGlhbHNMb2dpbkZsb3ciLCJub1JldHJ5IiwiY2FzVjFMb2dpbkZsb3ciLCJsb2NhbExvZ2luRmxvdyIsImNhc1RpY2tldExvZ2luRmxvdyIsInRpY2tldCIsInNlcnZpY2UiLCJxdWVyeVBhcmFtcyIsInBrY2VMb2dpbkZsb3ciLCJfIiwidXVpZHY0Iiwic2hhMjU2Q29kZVZlcmlmaWVyIiwic2hhMjU2QXN5bmMiLCJjb2RlQ2hhbGxlbmdlIiwiYmFzZTY0VXJsRW5jb2RlIiwicGtjZUF1dGhSZWRpcmVjdFVSTCIsInJlc3BvbnNlX3R5cGUiLCJjb2RlX2NoYWxsZW5nZSIsImNvZGVfY2hhbGxlbmdlX21ldGhvZCIsInJlcGxhY2UiLCJoYW5kbGVBdXRoRmFpbHVyZSIsIlVOQVVUSE9SSVpFRCIsImdldE9BdXRoVG9rZW4iLCJ0aGlydHlTZWNvbmRzRnJvbU5vdyIsIkRhdGUiLCJzZXRTZWNvbmRzIiwiZ2V0U2Vjb25kcyIsImF1dGhTYWdhIiwib2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2VQYXJhbSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImRlZmF1bHRPQXV0aFBlcnNpc3RlbmNlU2VydmljZSIsInRpY2tldFByb3ZpZGVyU2VydmljZSIsImRlZmF1bHRUaWNrZXRQcm92aWRlclNlcnZpY2UiLCJjb2RlUHJvdmlkZXJTZXJ2aWNlIiwiZGVmYXVsdENvZGVQcm92aWRlclNlcnZpY2UiLCJnZXRMb2dnZXIiLCJnZXRQZXJzaXN0ZWRUb2tlbiIsImNhc1RpY2tldCIsImdldFRpY2tldCIsInJlbW92ZVRpY2tldCIsImdldEFwcFNlcnZpY2VOYW1lIiwiZ2V0Q29kZSIsImNsZWFyVXNlckRhdGEiLCJNT0RFTF9SRU1PVkVfS0VZX0FDVElPTl9UWVBFIiwiY2xlYXJQZXJzaXN0ZW50VG9rZW4iLCJnZXRTdGF0ZSIsInJlbW92ZUNvZGVBbmRTdGF0ZSIsIkFVVEhfVE9LRU5fQUNUSU9OX1RZUEUiLCJBVVRIX0lOSVRJQUxJWkVEIiwidGFrZUV2ZXJ5IiwiTU9ERUxfRkVUQ0hfRVJST1JfQUNUSU9OX1RZUEUiLCJUUllfRkVUQ0hfRkFJTEVEIiwiY2FzVjFBY3Rpb24iLCJsb2NhbExvZ2luQWN0aW9uIiwicGtjZUxvZ2luQWN0aW9uIiwiQVVUSF9DQVNfVjFfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRSIsIkNBU19WMV9MT0dJTl9SRVFVRVNUIiwiQVVUSF9MT0NBTF9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFIiwiTE9DQUxfTE9HSU5fUkVRVUVTVCIsIkFVVEhfUEtDRV9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFIiwiUEtDRV9MT0dJTl9SRVFVRVNUIiwiTE9HSU5fUkVRVUVTVEVEIiwibG9naW5TdWNjZXNzIiwiR0VUX1RPS0VOX1NVQ0NFRURFRCIsIkxPR0lOX0ZBSUxFRCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWR1eC9zYWdhcy9hdXRoU2FnYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWdhSXRlcmF0b3IgfSBmcm9tICdAcmVkdXgtc2FnYS9jb3JlJ1xuaW1wb3J0IHsgQW55QWN0aW9uIH0gZnJvbSAncmVkdXgnXG5pbXBvcnQgeyBhbGwsIGNhbGwsIHB1dCwgcmFjZSwgdGFrZSwgdGFrZUV2ZXJ5IH0gZnJvbSAncmVkdXgtc2FnYS9lZmZlY3RzJ1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCdcbmltcG9ydCB7IGdldEFwcENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cydcbmltcG9ydCB7IGNvZGVQcm92aWRlclNlcnZpY2UgYXMgZGVmYXVsdENvZGVQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb2RlUHJvdmlkZXJTZXJ2aWNlJ1xuaW1wb3J0IHsgb2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UgYXMgZGVmYXVsdE9BdXRoUGVyc2lzdGVuY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UnXG5pbXBvcnQgeyB0aWNrZXRQcm92aWRlclNlcnZpY2UgYXMgZGVmYXVsdFRpY2tldFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldFByb3ZpZGVyU2VydmljZSdcbmltcG9ydCB7IHdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aW5kb3dTZXJ2aWNlJ1xuaW1wb3J0IHtcblx0Q29kZVByb3ZpZGVyU2VydmljZSxcblx0SFRUUF9TVEFUVVNfQ09ERSxcblx0T0F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UsXG5cdE9BdXRoVG9rZW4sXG5cdE9BdXRoVG9rZW5Pck51bGwsXG5cdFRpY2tldFByb3ZpZGVyU2VydmljZSxcblx0VG9rZW5BY2Nlc3NGdW5jdGlvblxufSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB7IGdldExvZ2dlciwgTG9nZ2VyIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9nZ2VyJ1xuaW1wb3J0IHsgYmFzZTY0VXJsRW5jb2RlLCBzaGEyNTZBc3luYyB9IGZyb20gJy4uLy4uL3V0aWxzL3VybCdcbmltcG9ydCB7XG5cdEFVVEhfQUNUSU9OX1RZUEUsXG5cdEFVVEhfQ0FTX1YxX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUsXG5cdEFVVEhfTE9DQUxfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRSxcblx0QVVUSF9QS0NFX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUsXG5cdEFVVEhfVE9LRU5fQUNUSU9OX1RZUEUsXG5cdEFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRSxcblx0QXV0aEFjdGlvbixcblx0QXV0aENhc1YxTG9naW5SZXF1ZXN0QWN0aW9uLFxuXHRBdXRoTG9jYWxMb2dpblJlcXVlc3RBY3Rpb24sXG5cdEF1dGhQS0NFTG9naW5SZXF1ZXN0QWN0aW9uLFxuXHRBdXRoVG9rZW5BY3Rpb24sXG5cdEF1dGhUb2tlblN1Y2Nlc3NBY3Rpb24sXG5cdGlzVHJhbnNpZW50TW9kZWxGZXRjaEVycm9yQWN0aW9uLFxuXHRpc1RyYW5zaWVudE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb24sXG5cdE1PREVMX0ZFVENIX0VSUk9SX0FDVElPTl9UWVBFLFxuXHRNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFLFxuXHRNT0RFTF9SRU1PVkVfS0VZX0FDVElPTl9UWVBFLFxuXHRNb2RlbEZldGNoRXJyb3JBY3Rpb24sXG5cdE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uLFxuXHRNb2RlbEZldGNoUmVzdWx0QWN0aW9uLFxuXHRNb2RlbFJlbW92ZUtleUFjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJ1xuXG4vLyNyZWdpb24gSGVscGVyc1xuXG5leHBvcnQgY29uc3QgbWF0Y2hlc01vZGVsRmV0Y2hSZWNlaXZlZCA9IChhY3Rpb246IEFueUFjdGlvbiwgbW9kZWxOYW1lOiBzdHJpbmcpID0+XG5cdGlzVHJhbnNpZW50TW9kZWxGZXRjaFJlc3VsdEFjdGlvbihhY3Rpb24pICYmIGFjdGlvbi5tb2RlbFBhdGggPT09IG1vZGVsTmFtZVxuXG5leHBvcnQgY29uc3QgdGFrZU1hdGNoZXNNb2RlbEZldGNoUmVjZWl2ZWQgPSAobW9kZWxOYW1lOiBzdHJpbmcpID0+IChpbmNvbWluZ0FjdGlvbjogQW55QWN0aW9uKSA9PlxuXHRtYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkKGluY29taW5nQWN0aW9uLCBtb2RlbE5hbWUpXG5cbmV4cG9ydCBjb25zdCBtYXRjaGVzTW9kZWxGZXRjaEZhaWxlZCA9IChhY3Rpb246IEFueUFjdGlvbiwgbW9kZWxOYW1lOiBzdHJpbmcpID0+XG5cdGlzVHJhbnNpZW50TW9kZWxGZXRjaEVycm9yQWN0aW9uKGFjdGlvbikgJiYgYWN0aW9uLm1vZGVsUGF0aCA9PT0gbW9kZWxOYW1lXG5cbmV4cG9ydCBjb25zdCB0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQgPSAobW9kZWxOYW1lOiBzdHJpbmcpID0+IChpbmNvbWluZ0FjdGlvbjogQW55QWN0aW9uKSA9PlxuXHRtYXRjaGVzTW9kZWxGZXRjaEZhaWxlZChpbmNvbWluZ0FjdGlvbiwgbW9kZWxOYW1lKVxuXG4vLyNlbmRyZWdpb24gSGVscGVyc1xuXG4vLyNyZWdpb24gTG9jYWwgVmFyaWFibGVzXG5cbmxldCBvYXV0aFRva2VuOiBPQXV0aFRva2VuT3JOdWxsID0gbnVsbFxubGV0IG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlOiBPQXV0aFBlcnNpc3RlbmNlU2VydmljZVxubGV0IHJlZnJlc2hMb2NrOiBib29sZWFuXG5sZXQgbG9nZ2VyOiBMb2dnZXJcblxuLy8jZW5kcmVnaW9uIExvY2FsIFZhcmlhYmxlc1xuXG5leHBvcnQgZnVuY3Rpb24qIGdldFRva2VuRnJvbUNvZGUoY29kZTogc3RyaW5nKTogU2FnYUl0ZXJhdG9yIHtcblx0Y29uc3QgYXBwQ29uZmlnID0gZ2V0QXBwQ29uZmlnKClcblx0aWYgKCFhcHBDb25maWcuQ0xJRU5UX0lEIHx8ICFhcHBDb25maWcuQ0xJRU5UX1NFQ1JFVCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignQ0xJRU5UX0lEIGFuZCBDTElFTlRfU0VDUkVUIGFyZSByZXF1aXJlZCBpbiBBcHBDb25maWcnKVxuXHR9XG5cdGNvbnN0IGdldFRva2VuTW9kZWxOYW1lID0gJ2dldFRva2VuJ1xuXHRjb25zdCBmb3JtQm9keSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuXHRcdGdyYW50X3R5cGU6ICdhdXRob3JpemF0aW9uX2NvZGUnLFxuXHRcdGNsaWVudF9pZDogYXBwQ29uZmlnLkNMSUVOVF9JRCxcblx0XHRjbGllbnRfc2VjcmV0OiBhcHBDb25maWcuQ0xJRU5UX1NFQ1JFVCxcblx0XHRjb2RlOiBjb2RlXG5cdH0pXG5cdHlpZWxkIHB1dDxNb2RlbEZldGNoUmVxdWVzdEFjdGlvbj4oe1xuXHRcdHR5cGU6IE1PREVMX0ZFVENIX1JFUVVFU1RfQUNUSU9OX1RZUEUuRkVUQ0hfUkVRVUVTVCxcblx0XHRtb2RlbE5hbWU6IGdldFRva2VuTW9kZWxOYW1lLFxuXHRcdGJvZHk6IGZvcm1Cb2R5LFxuXHRcdG5vU3RvcmU6IHRydWVcblx0fSlcblx0Y29uc3Qge1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uLFxuXHRcdGZldGNoRXJyb3JBY3Rpb25cblx0fTogeyBmZXRjaFJlc3VsdEFjdGlvbj86IE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb247IGZldGNoRXJyb3JBY3Rpb24/OiBNb2RlbEZldGNoRXJyb3JBY3Rpb24gfSA9IHlpZWxkIHJhY2Uoe1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkKGdldFRva2VuTW9kZWxOYW1lKSksXG5cdFx0ZmV0Y2hFcnJvckFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQoZ2V0VG9rZW5Nb2RlbE5hbWUpKVxuXHR9KVxuXHRpZiAoZmV0Y2hFcnJvckFjdGlvbiB8fCAhZmV0Y2hSZXN1bHRBY3Rpb24/LmRhdGEpIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdHJldHVybiBmZXRjaFJlc3VsdEFjdGlvbi5kYXRhXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogZ2V0VG9rZW5Gcm9tQ29kZUFuZFN0YXRlKGNvZGU6IHN0cmluZywgc3RhdGU6IHN0cmluZyk6IFNhZ2FJdGVyYXRvciB7XG5cdGNvbnN0IGFwcENvbmZpZyA9IGdldEFwcENvbmZpZygpXG5cdGlmICghYXBwQ29uZmlnLkNMSUVOVF9JRCB8fCAhYXBwQ29uZmlnLk9BVVRIX1BLQ0VfU0NPUEUgfHwgIWFwcENvbmZpZy5PQVVUSF9QS0NFX0VORFBPSU5UKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdDTElFTlRfSUQsIE9BVVRIX1BLQ0VfU0NPUEUsIGFuZCBPQVVUSF9QS0NFX0VORFBPSU5UIGFyZSByZXF1aXJlZCBpbiBBcHBDb25maWcnKVxuXHR9XG5cblx0Ly8gdmFsaWRhdGUgcGVyc2lzdGVkIHZhbHVlc1xuXHRjb25zdCBjb2RlVmVyaWZpZXIgPSB5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLmdldFBlcnNpc3RlZENvZGVWZXJpZmllcilcblx0aWYgKCFjb2RlVmVyaWZpZXIpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgY29kZV92ZXJpZmllcicpXG5cdH1cblx0Y29uc3QgcGVyc2lzdGVkU3RhdGUgPSB5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLmdldFBlcnNpc3RlZFN0YXRlKVxuXHRpZiAocGVyc2lzdGVkU3RhdGUgIT09IHN0YXRlKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHN0YXRlJylcblx0fVxuXHQvLyBjbGVhciBwZXJzaXN0ZWQgdmFsdWVzXG5cdHlpZWxkIGNhbGwob2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdFN0YXRlLCBudWxsKVxuXHR5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RDb2RlVmVyaWZpZXIsIG51bGwpXG5cblx0Ly8gZGlzcGF0Y2ggcmVxdWVzdFxuXHRjb25zdCBnZXRUb2tlbk1vZGVsTmFtZSA9ICdnZXRUb2tlbidcblx0Y29uc3QgbG9jYXRpb24gPSB3aW5kb3dTZXJ2aWNlLmdldExvY2F0aW9uKClcblx0Y29uc3QgZm9ybUJvZHkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcblx0XHRncmFudF90eXBlOiAnYXV0aG9yaXphdGlvbl9jb2RlJyxcblx0XHRjbGllbnRfaWQ6IGFwcENvbmZpZy5DTElFTlRfSUQsXG5cdFx0c2NvcGU6IGFwcENvbmZpZy5PQVVUSF9QS0NFX1NDT1BFLFxuXHRcdGNvZGVfdmVyaWZpZXI6IGNvZGVWZXJpZmllcixcblx0XHRyZWRpcmVjdF91cmk6IGxvY2F0aW9uLm9yaWdpbixcblx0XHRjb2RlOiBjb2RlXG5cdH0pXG5cdHlpZWxkIHB1dDxNb2RlbEZldGNoUmVxdWVzdEFjdGlvbj4oe1xuXHRcdHR5cGU6IE1PREVMX0ZFVENIX1JFUVVFU1RfQUNUSU9OX1RZUEUuRkVUQ0hfUkVRVUVTVCxcblx0XHRtb2RlbE5hbWU6IGdldFRva2VuTW9kZWxOYW1lLFxuXHRcdGJvZHk6IGZvcm1Cb2R5LFxuXHRcdG5vU3RvcmU6IHRydWVcblx0fSlcblx0Y29uc3Qge1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uLFxuXHRcdGZldGNoRXJyb3JBY3Rpb25cblx0fTogeyBmZXRjaFJlc3VsdEFjdGlvbj86IE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb247IGZldGNoRXJyb3JBY3Rpb24/OiBNb2RlbEZldGNoRXJyb3JBY3Rpb24gfSA9IHlpZWxkIHJhY2Uoe1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkKGdldFRva2VuTW9kZWxOYW1lKSksXG5cdFx0ZmV0Y2hFcnJvckFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQoZ2V0VG9rZW5Nb2RlbE5hbWUpKVxuXHR9KVxuXHRpZiAoZmV0Y2hFcnJvckFjdGlvbiB8fCAhZmV0Y2hSZXN1bHRBY3Rpb24/LmRhdGEpIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdHJldHVybiBmZXRjaFJlc3VsdEFjdGlvbi5kYXRhXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogZ2V0VG9rZW5Gcm9tUmVmcmVzaFRva2VuKG9hdXRoVG9rZW5QYXJhbTogT0F1dGhUb2tlbik6IFNhZ2FJdGVyYXRvciB7XG5cdGNvbnN0IGFwcENvbmZpZyA9IGdldEFwcENvbmZpZygpXG5cdGlmICghYXBwQ29uZmlnLkNMSUVOVF9JRCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignQ0xJRU5UX0lELCBpcyByZXF1aXJlZCBpbiBBcHBDb25maWcnKVxuXHR9XG5cblx0Y29uc3QgZ2V0VG9rZW5Nb2RlbE5hbWUgPSAnZ2V0VG9rZW4nXG5cdGNvbnN0IGZvcm1Cb2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG5cdFx0Z3JhbnRfdHlwZTogJ3JlZnJlc2hfdG9rZW4nLFxuXHRcdGNsaWVudF9pZDogYXBwQ29uZmlnLkNMSUVOVF9JRCxcblx0XHRyZWZyZXNoX3Rva2VuOiBvYXV0aFRva2VuUGFyYW0ucmVmcmVzaF90b2tlblxuXHR9KVxuXHQvLyBjcmVhdGUgdGhlIGZvcm0gYm9keSBiYXNlZCBvbiBpZiB1c2luZyBhIGNsaWVudF9zZWNyZXQ6IHRyYWRpdGlvbmFsIE9BdXRoIHZzLiBQS0NFIGZsb3dcblx0aWYgKGFwcENvbmZpZy5DTElFTlRfU0VDUkVUKSB7XG5cdFx0Zm9ybUJvZHkuYXBwZW5kKCdjbGllbnRfc2VjcmV0JywgYXBwQ29uZmlnLkNMSUVOVF9TRUNSRVQpXG5cdH1cblx0eWllbGQgcHV0PE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uPih7XG5cdFx0dHlwZTogTU9ERUxfRkVUQ0hfUkVRVUVTVF9BQ1RJT05fVFlQRS5GRVRDSF9SRVFVRVNULFxuXHRcdG1vZGVsTmFtZTogZ2V0VG9rZW5Nb2RlbE5hbWUsXG5cdFx0Ym9keTogZm9ybUJvZHksXG5cdFx0bm9TdG9yZTogdHJ1ZVxuXHR9KVxuXHRjb25zdCB7XG5cdFx0ZmV0Y2hSZXN1bHRBY3Rpb24sXG5cdFx0ZmV0Y2hFcnJvckFjdGlvblxuXHR9OiB7IGZldGNoUmVzdWx0QWN0aW9uPzogTW9kZWxGZXRjaFJlc3VsdEFjdGlvbjsgZmV0Y2hFcnJvckFjdGlvbj86IE1vZGVsRmV0Y2hFcnJvckFjdGlvbiB9ID0geWllbGQgcmFjZSh7XG5cdFx0ZmV0Y2hSZXN1bHRBY3Rpb246IHRha2UodGFrZU1hdGNoZXNNb2RlbEZldGNoUmVjZWl2ZWQoZ2V0VG9rZW5Nb2RlbE5hbWUpKSxcblx0XHRmZXRjaEVycm9yQWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaEZhaWxlZChnZXRUb2tlbk1vZGVsTmFtZSkpXG5cdH0pXG5cdC8vIGFueSBlcnJvciByZXNwb25zZVxuXHRpZiAoZmV0Y2hFcnJvckFjdGlvbikge1xuXHRcdC8vIGlnbm9yZSBzZXJ2ZXIgZXJyb3JzXG5cdFx0aWYgKFxuXHRcdFx0ZmV0Y2hFcnJvckFjdGlvbi5lcnJvckRhdGE/LnN0YXR1cyAmJlxuXHRcdFx0ZmV0Y2hFcnJvckFjdGlvbi5lcnJvckRhdGEuc3RhdHVzID49IEhUVFBfU1RBVFVTX0NPREUuSU5URVJOQUxfU0VSVkVSX0VSUk9SXG5cdFx0KSB7XG5cdFx0XHRyZXR1cm4gb2F1dGhUb2tlblBhcmFtXG5cdFx0fVxuXHRcdHJldHVybiBudWxsXG5cdH1cblx0Ly8gZm9yIHNvbWUgcmVhc29uIHRoZSByZXNwb25zZSBoYWQgbm8gYm9keVxuXHRpZiAoIWZldGNoUmVzdWx0QWN0aW9uPy5kYXRhKSB7XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHRyZXR1cm4gZmV0Y2hSZXN1bHRBY3Rpb24uZGF0YVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHBlcmZvcm1Ub2tlblJlZnJlc2goKTogU2FnYUl0ZXJhdG9yIHtcblx0aWYgKHJlZnJlc2hMb2NrIHx8ICFvYXV0aFRva2VuKSB7XG5cdFx0Ly8gYWxyZWFkeSByZWZyZXNoaW5nLiB3YWl0IGZvciB0aGUgY3VycmVudCByZWZyZXNoIHRvIHN1Y2NlZWQgb3IgZmFpbC5cblx0XHR5aWVsZCByYWNlKHtcblx0XHRcdHJlZnJlc2hTdWNjZXNzOiB0YWtlKEFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRS5UT0tFTl9SRUZSRVNIX1NVQ0NFRURFRCksXG5cdFx0XHRyZWZyZXNoRmFpbGVkOiB0YWtlKEFVVEhfQUNUSU9OX1RZUEUuVE9LRU5fUkVGUkVTSF9GQUlMRUQpXG5cdFx0fSlcblx0XHRyZXR1cm5cblx0fVxuXHRsb2dnZXIuZGVidWcoJ1JlZnJlc2hpbmcgT0F1dGggdG9rZW4nKVxuXHRyZWZyZXNoTG9jayA9IHRydWVcblx0Ly8gb2F1dGhUb2tlbiB3aWxsIGJlIHNldCB0bzpcblx0Ly8gMS4gbmV3IHRva2VuIChzdWNjZXNzKVxuXHQvLyAyLiBzYW1lIHRva2VuIChmYWlsZWQgZnJvbSB0aW1lb3V0IG9yIHNlcnZlciBlcnJvcilcblx0Ly8gMy4gbnVsbCAoZmFpbClcblx0Y29uc3Qgb3JpZ2luYWxBY2Nlc3NUb2tlbiA9IG9hdXRoVG9rZW4uYWNjZXNzX3Rva2VuXG5cdG9hdXRoVG9rZW4gPSB5aWVsZCBjYWxsKGdldFRva2VuRnJvbVJlZnJlc2hUb2tlbiwgb2F1dGhUb2tlbilcblx0aWYgKCEhb2F1dGhUb2tlbiAmJiBvYXV0aFRva2VuLmFjY2Vzc190b2tlbiAhPT0gb3JpZ2luYWxBY2Nlc3NUb2tlbikge1xuXHRcdGxvZ2dlci5kZWJ1ZygnT0F1dGggdG9rZW4gcmVmcmVzaGVkJylcblx0XHR5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RUb2tlbiwgb2F1dGhUb2tlbilcblx0XHR5aWVsZCBwdXQ8QXV0aFRva2VuU3VjY2Vzc0FjdGlvbj4oeyB0eXBlOiBBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUuVE9LRU5fUkVGUkVTSF9TVUNDRUVERUQsIG9hdXRoVG9rZW4gfSlcblx0fSBlbHNlIGlmIChvYXV0aFRva2VuID09PSBudWxsKSB7XG5cdFx0bG9nZ2VyLmRlYnVnKCdPQXV0aCB0b2tlbiBmYWlsZWQgdG8gcmVmcmVzaCcpXG5cdFx0Ly8gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuIG91dHNpZGUgb2YgdGhlIHRva2VuIGhhdmluZyBiZWVuIHJldm9rZWQgb24gdGhlIHNlcnZlciBzaWRlXG5cdFx0eWllbGQgYWxsKHtcblx0XHRcdHJlZnJlc2hGYWlsZWQ6IHB1dDxBdXRoQWN0aW9uPih7IHR5cGU6IEFVVEhfQUNUSU9OX1RZUEUuVE9LRU5fUkVGUkVTSF9GQUlMRUQgfSksXG5cdFx0XHRsb2dPdXQ6IHB1dDxBdXRoQWN0aW9uPih7IHR5cGU6IEFVVEhfQUNUSU9OX1RZUEUuTE9HX09VVF9SRVFVRVNURUQgfSlcblx0XHR9KVxuXHR9XG5cdHJlZnJlc2hMb2NrID0gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBsb2dpbkZsb3cobW9kZWxGZXRjaFJlcXVlc3RBY3Rpb246IE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uKTogU2FnYUl0ZXJhdG9yIHtcblx0eWllbGQgcHV0KG1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uKVxuXHRjb25zdCB7XG5cdFx0ZmV0Y2hSZXN1bHRBY3Rpb24sXG5cdFx0ZmV0Y2hFcnJvckFjdGlvblxuXHR9OiB7IGZldGNoUmVzdWx0QWN0aW9uPzogTW9kZWxGZXRjaFJlc3VsdEFjdGlvbjsgZmV0Y2hFcnJvckFjdGlvbj86IE1vZGVsRmV0Y2hFcnJvckFjdGlvbiB9ID0geWllbGQgcmFjZSh7XG5cdFx0ZmV0Y2hSZXN1bHRBY3Rpb246IHRha2UodGFrZU1hdGNoZXNNb2RlbEZldGNoUmVjZWl2ZWQobW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24ubW9kZWxOYW1lKSksXG5cdFx0ZmV0Y2hFcnJvckFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQobW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24ubW9kZWxOYW1lKSlcblx0fSlcblx0aWYgKGZldGNoRXJyb3JBY3Rpb24pIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdGNvbnN0IGNvZGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGZldGNoUmVzdWx0QWN0aW9uPy5kYXRhPy5jb2RlXG5cdGlmICghY29kZSkge1xuXHRcdHJldHVybiBudWxsXG5cdH1cblx0cmV0dXJuIHlpZWxkIGNhbGwoZ2V0VG9rZW5Gcm9tQ29kZSwgY29kZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBjcmVkZW50aWFsc0xvZ2luRmxvdyhcblx0YWN0aW9uOiBBdXRoQ2FzVjFMb2dpblJlcXVlc3RBY3Rpb24gfCBBdXRoTG9jYWxMb2dpblJlcXVlc3RBY3Rpb24sXG5cdG1vZGVsTmFtZTogc3RyaW5nXG4pOiBTYWdhSXRlcmF0b3Ige1xuXHRjb25zdCBtb2RlbEZldGNoUmVxdWVzdEFjdGlvbjogTW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24gPSB7XG5cdFx0Ly8gc2V0IHJlcXVpcmVkIGRlZmF1bHRzXG5cdFx0dHlwZTogTU9ERUxfRkVUQ0hfUkVRVUVTVF9BQ1RJT05fVFlQRS5GRVRDSF9SRVFVRVNULFxuXHRcdG1vZGVsTmFtZSxcblx0XHRub1N0b3JlOiB0cnVlLFxuXHRcdC8vIGZvcmNlIG5vIHJldHJ5XG5cdFx0bm9SZXRyeTogdHJ1ZSxcblx0XHQvLyBwYXNzIHRocnUgYm9keVxuXHRcdGJvZHk6IGFjdGlvbi5ib2R5XG5cdH1cblx0cmV0dXJuIHlpZWxkIGNhbGwobG9naW5GbG93LCBtb2RlbEZldGNoUmVxdWVzdEFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBjYXNWMUxvZ2luRmxvdyhhY3Rpb246IEF1dGhDYXNWMUxvZ2luUmVxdWVzdEFjdGlvbik6IFNhZ2FJdGVyYXRvciB7XG5cdHJldHVybiB5aWVsZCBjYWxsKGNyZWRlbnRpYWxzTG9naW5GbG93LCBhY3Rpb24sICdjb2RlRnJvbUNhc1YxJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBsb2NhbExvZ2luRmxvdyhhY3Rpb246IEF1dGhMb2NhbExvZ2luUmVxdWVzdEFjdGlvbik6IFNhZ2FJdGVyYXRvciB7XG5cdHJldHVybiB5aWVsZCBjYWxsKGNyZWRlbnRpYWxzTG9naW5GbG93LCBhY3Rpb24sICdjb2RlRnJvbUxvY2FsQ3JlZGVudGlhbHMnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGNhc1RpY2tldExvZ2luRmxvdyh0aWNrZXQ6IHN0cmluZywgc2VydmljZTogc3RyaW5nKTogU2FnYUl0ZXJhdG9yIHtcblx0Y29uc3QgbW9kZWxGZXRjaFJlcXVlc3RBY3Rpb246IE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uID0ge1xuXHRcdHR5cGU6IE1PREVMX0ZFVENIX1JFUVVFU1RfQUNUSU9OX1RZUEUuRkVUQ0hfUkVRVUVTVCxcblx0XHRtb2RlbE5hbWU6ICdjb2RlRnJvbUNhc1RpY2tldCcsXG5cdFx0bm9TdG9yZTogdHJ1ZSxcblx0XHRxdWVyeVBhcmFtczoge1xuXHRcdFx0dGlja2V0LFxuXHRcdFx0c2VydmljZVxuXHRcdH1cblx0fVxuXHRyZXR1cm4geWllbGQgY2FsbChsb2dpbkZsb3csIG1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHBrY2VMb2dpbkZsb3coXzogQXV0aFBLQ0VMb2dpblJlcXVlc3RBY3Rpb24pOiBTYWdhSXRlcmF0b3Ige1xuXHRjb25zdCBhcHBDb25maWcgPSBnZXRBcHBDb25maWcoKVxuXHRpZiAoIWFwcENvbmZpZy5DTElFTlRfSUQgfHwgIWFwcENvbmZpZy5PQVVUSF9QS0NFX1NDT1BFIHx8ICFhcHBDb25maWcuT0FVVEhfUEtDRV9FTkRQT0lOVCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignQ0xJRU5UX0lELCBPQVVUSF9QS0NFX1NDT1BFLCBhbmQgT0FVVEhfUEtDRV9FTkRQT0lOVCBhcmUgcmVxdWlyZWQgaW4gQXBwQ29uZmlnJylcblx0fVxuXG5cdC8vIEdlbmVyYXRlIHN0YXRlIGFuZCBjb2RlIHZlcmlmaWVyIHZhbHVlc1xuXHRjb25zdCBzdGF0ZSA9IHV1aWR2NCgpXG5cdGNvbnN0IGNvZGVWZXJpZmllciA9IHV1aWR2NCgpXG5cdGNvbnN0IHNoYTI1NkNvZGVWZXJpZmllciA9IHlpZWxkIGNhbGwoc2hhMjU2QXN5bmMsIGNvZGVWZXJpZmllcilcblx0Y29uc3QgY29kZUNoYWxsZW5nZSA9IHlpZWxkIGNhbGwoYmFzZTY0VXJsRW5jb2RlLCBzaGEyNTZDb2RlVmVyaWZpZXIpXG5cblx0Ly8gUGVyc2lzdCBzdGF0ZSBhbmQgY29kZSB2ZXJpZmllciBpbiBsb2NhbCBzdG9yYWdlIGZvciB1c2UgYWZ0ZXIgY29kZSBmbG93IHJlZGlyZWN0LlxuXHR5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RTdGF0ZSwgc3RhdGUpXG5cdHlpZWxkIGNhbGwob2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdENvZGVWZXJpZmllciwgY29kZVZlcmlmaWVyKVxuXG5cdC8vIFJlZGlyZWN0IHRvIEJTIGNvZGUgZmxvdyBhdXRoIGVuZHBvaW50ICh3aGljaCB3aWxsIHJlZGlyZWN0IGJhY2sgaGVyZSlcblx0Y29uc3QgbG9jYXRpb24gPSB3aW5kb3dTZXJ2aWNlLmdldExvY2F0aW9uKClcblx0Y29uc3QgcGtjZUF1dGhSZWRpcmVjdFVSTCA9IGAke2FwcENvbmZpZy5PQVVUSF9QS0NFX0VORFBPSU5UfT8ke25ldyBVUkxTZWFyY2hQYXJhbXMoe1xuXHRcdHJlc3BvbnNlX3R5cGU6ICdjb2RlJyxcblx0XHRjbGllbnRfaWQ6IGFwcENvbmZpZy5DTElFTlRfSUQsXG5cdFx0c3RhdGU6IHN0YXRlLFxuXHRcdHNjb3BlOiBhcHBDb25maWcuT0FVVEhfUEtDRV9TQ09QRSxcblx0XHRjb2RlX2NoYWxsZW5nZTogY29kZUNoYWxsZW5nZSxcblx0XHRjb2RlX2NoYWxsZW5nZV9tZXRob2Q6ICdTMjU2Jyxcblx0XHRyZWRpcmVjdF91cmk6IGxvY2F0aW9uLm9yaWdpblxuXHR9KX1gXG5cdHlpZWxkIGNhbGwod2luZG93U2VydmljZS5yZXBsYWNlLCBwa2NlQXV0aFJlZGlyZWN0VVJMKVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGhhbmRsZUF1dGhGYWlsdXJlKGFjdGlvbjogTW9kZWxGZXRjaEVycm9yQWN0aW9uKTogU2FnYUl0ZXJhdG9yIHtcblx0Ly8gVGhpcyBzaG91bGQgYmUgdW5saWtlbHkgc2luY2Ugd2Ugbm9ybWFsbHkgaGF2ZSBhIHJlZnJlc2ggdG9rZW4gbG9vcCBoYXBwZW5pbmdcblx0Ly8gYnV0IGlmIHRoZSBhcHAgaXMgYmFja2dyb3VuZGVkLCB0aGUgbG9vcCBtaWdodCBub3QgYmUgY2F1Z2h0IHVwIHlldFxuXHRpZiAob2F1dGhUb2tlbiAmJiBhY3Rpb24uZXJyb3JEYXRhICYmIGFjdGlvbi5lcnJvckRhdGEuc3RhdHVzID09PSBIVFRQX1NUQVRVU19DT0RFLlVOQVVUSE9SSVpFRCkge1xuXHRcdGxvZ2dlci5kZWJ1ZygndG9rZW4gZXhwaXJlZCAtIHJlZnJlc2hpbmcnKVxuXHRcdHlpZWxkIGNhbGwocGVyZm9ybVRva2VuUmVmcmVzaClcblx0fVxufVxuXG5leHBvcnQgY29uc3QgZ2V0T0F1dGhUb2tlbjogVG9rZW5BY2Nlc3NGdW5jdGlvbiA9IGZ1bmN0aW9uKiAobW9kZWxOYW1lOiBzdHJpbmcpIHtcblx0Ly8gRG9uJ3QgdHJ5IHRvIHJlZnJlc2ggdGhlIHRva2VuIGlmIHdlJ3JlIGFscmVhZHkgaW4gYSByZXF1ZXN0IHRvIHJlZnJlc2ggdGhlIHRva2VuXG5cdGlmIChtb2RlbE5hbWUgPT09ICdnZXRUb2tlbicpIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdGlmIChvYXV0aFRva2VuICYmIG9hdXRoVG9rZW5bJy5leHBpcmVzJ10pIHtcblx0XHRjb25zdCB0aGlydHlTZWNvbmRzRnJvbU5vdyA9IG5ldyBEYXRlKClcblx0XHR0aGlydHlTZWNvbmRzRnJvbU5vdy5zZXRTZWNvbmRzKHRoaXJ0eVNlY29uZHNGcm9tTm93LmdldFNlY29uZHMoKSArIDMwKVxuXHRcdGlmIChuZXcgRGF0ZShvYXV0aFRva2VuWycuZXhwaXJlcyddKSA8IHRoaXJ0eVNlY29uZHNGcm9tTm93KSB7XG5cdFx0XHQvLyBzdGFydCBhIHRva2VuIHJlZnJlc2ggYW5kIHdhaXQgZm9yIHRoZSBzdWNjZXNzIGFjdGlvbiBpbiBjYXNlIGFub3RoZXIgcmVmcmVzaCBpcyBjdXJyZW50bHkgaGFwcGVuaW5nXG5cdFx0XHR5aWVsZCBjYWxsKHBlcmZvcm1Ub2tlblJlZnJlc2gpXG5cdFx0XHRyZXR1cm4gb2F1dGhUb2tlblxuXHRcdH1cblx0fVxuXHRyZXR1cm4gb2F1dGhUb2tlblxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiogYXV0aFNhZ2EoXG5cdG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlUGFyYW06IE9BdXRoUGVyc2lzdGVuY2VTZXJ2aWNlID0gZGVmYXVsdE9BdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLFxuXHR0aWNrZXRQcm92aWRlclNlcnZpY2U6IFRpY2tldFByb3ZpZGVyU2VydmljZSA9IGRlZmF1bHRUaWNrZXRQcm92aWRlclNlcnZpY2UsXG5cdGNvZGVQcm92aWRlclNlcnZpY2U6IENvZGVQcm92aWRlclNlcnZpY2UgPSBkZWZhdWx0Q29kZVByb3ZpZGVyU2VydmljZVxuKTogU2FnYUl0ZXJhdG9yIHtcblx0bG9nZ2VyID0gZ2V0TG9nZ2VyKClcblx0b2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UgPSBvYXV0aFBlcnNpc3RlbmNlU2VydmljZVBhcmFtXG5cblx0Ly8gVHJ5IHRvIGdldCBwZXJzaXN0ZWQgdG9rZW4gKG5vcm1hbGx5IGluIEFzeW5jU3RvcmFnZSBvciBMb2NhbFN0b3JhZ2UpXG5cdG9hdXRoVG9rZW4gPSB5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLmdldFBlcnNpc3RlZFRva2VuKVxuXG5cdC8vIElmIG5vIHRva2VuLCB0cnkgdG8gZ2V0IENBUyB0aWNrZXQgKG5vcm1hbGx5IGluIHRoZSBVUkwpLCB1c2UgaXQgdG8gZ2V0IGEgdG9rZW5cblx0aWYgKCFvYXV0aFRva2VuKSB7XG5cdFx0Y29uc3QgY2FzVGlja2V0ID0gdGlja2V0UHJvdmlkZXJTZXJ2aWNlLmdldFRpY2tldCgpXG5cdFx0dGlja2V0UHJvdmlkZXJTZXJ2aWNlLnJlbW92ZVRpY2tldCgpXG5cdFx0Y29uc3Qgc2VydmljZSA9IHRpY2tldFByb3ZpZGVyU2VydmljZS5nZXRBcHBTZXJ2aWNlTmFtZSgpXG5cdFx0aWYgKGNhc1RpY2tldCAmJiBzZXJ2aWNlKSB7XG5cdFx0XHRvYXV0aFRva2VuID0geWllbGQgY2FsbChjYXNUaWNrZXRMb2dpbkZsb3csIGNhc1RpY2tldCwgc2VydmljZSlcblx0XHR9XG5cdH1cblxuXHQvLyBJZiBPQXV0aCBDb2RlIGV4aXN0cyAobm9ybWFsbHkgaW4gdGhlIFVSTCksIHVzZSBpdCB0byBnZXQgYSB0b2tlblxuXHRjb25zdCBjb2RlID0gY29kZVByb3ZpZGVyU2VydmljZS5nZXRDb2RlKClcblx0aWYgKGNvZGUpIHtcblx0XHQvLyBMb2cgb3V0IHRoZSBjdXJyZW50IHVzZXIgaWYgYSBuZXcgdG9rZW4gaXMgYWJvdXQgdG8gYmUgZ2VuZXJhdGVkIGZyb20gdGhlIE9BdXRoIENvZGVcblx0XHRpZiAob2F1dGhUb2tlbikge1xuXHRcdFx0eWllbGQgYWxsKHtcblx0XHRcdFx0Y2xlYXJVc2VyRGF0YTogcHV0PE1vZGVsUmVtb3ZlS2V5QWN0aW9uPih7IHR5cGU6IE1PREVMX1JFTU9WRV9LRVlfQUNUSU9OX1RZUEUsIG1vZGVsUGF0aDogJ3VzZXInIH0pLFxuXHRcdFx0XHRjbGVhclBlcnNpc3RlbnRUb2tlbjogY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0VG9rZW4sIG51bGwpXG5cdFx0XHR9KVxuXHRcdFx0b2F1dGhUb2tlbiA9IG51bGxcblx0XHR9XG5cblx0XHQvLyBJZiBPQXV0aCBzdGF0ZSBleGlzdHMgKG5vcm1hbGx5IGluIHRoZSBVUkwpLCB1c2UgaXQgaW4gYWRkaXRpb24gdG8gdGhlIGNvZGUgZm9yIFBLQ0UgbG9naW4gZmxvd1xuXHRcdGNvbnN0IHN0YXRlID0gY29kZVByb3ZpZGVyU2VydmljZS5nZXRTdGF0ZSgpXG5cdFx0aWYgKHN0YXRlKSB7XG5cdFx0XHRvYXV0aFRva2VuID0geWllbGQgY2FsbChnZXRUb2tlbkZyb21Db2RlQW5kU3RhdGUsIGNvZGUsIHN0YXRlKVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRvYXV0aFRva2VuID0geWllbGQgY2FsbChnZXRUb2tlbkZyb21Db2RlLCBjb2RlKVxuXHRcdH1cblx0fVxuXHRjb2RlUHJvdmlkZXJTZXJ2aWNlLnJlbW92ZUNvZGVBbmRTdGF0ZSgpXG5cblx0eWllbGQgcHV0PEF1dGhUb2tlbkFjdGlvbj4oeyB0eXBlOiBBVVRIX1RPS0VOX0FDVElPTl9UWVBFLkFVVEhfSU5JVElBTElaRUQsIG9hdXRoVG9rZW4gfSlcblxuXHR5aWVsZCB0YWtlRXZlcnkoTU9ERUxfRkVUQ0hfRVJST1JfQUNUSU9OX1RZUEUuVFJZX0ZFVENIX0ZBSUxFRCwgaGFuZGxlQXV0aEZhaWx1cmUpXG5cblx0ZG8ge1xuXHRcdGlmICghb2F1dGhUb2tlbikge1xuXHRcdFx0Y29uc3Qge1xuXHRcdFx0XHRjYXNWMUFjdGlvbixcblx0XHRcdFx0bG9jYWxMb2dpbkFjdGlvbixcblx0XHRcdFx0cGtjZUxvZ2luQWN0aW9uXG5cdFx0XHR9OiB7XG5cdFx0XHRcdGNhc1YxQWN0aW9uPzogQXV0aENhc1YxTG9naW5SZXF1ZXN0QWN0aW9uXG5cdFx0XHRcdGxvY2FsTG9naW5BY3Rpb24/OiBBdXRoTG9jYWxMb2dpblJlcXVlc3RBY3Rpb25cblx0XHRcdFx0cGtjZUxvZ2luQWN0aW9uPzogQXV0aFBLQ0VMb2dpblJlcXVlc3RBY3Rpb25cblx0XHRcdH0gPSB5aWVsZCByYWNlKHtcblx0XHRcdFx0Y2FzVjFBY3Rpb246IHRha2UoQVVUSF9DQVNfVjFfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRS5DQVNfVjFfTE9HSU5fUkVRVUVTVCksXG5cdFx0XHRcdGxvY2FsTG9naW5BY3Rpb246IHRha2UoQVVUSF9MT0NBTF9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFLkxPQ0FMX0xPR0lOX1JFUVVFU1QpLFxuXHRcdFx0XHRwa2NlTG9naW5BY3Rpb246IHRha2UoQVVUSF9QS0NFX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUuUEtDRV9MT0dJTl9SRVFVRVNUKVxuXHRcdFx0fSlcblxuXHRcdFx0eWllbGQgcHV0PEF1dGhBY3Rpb24+KHsgdHlwZTogQVVUSF9BQ1RJT05fVFlQRS5MT0dJTl9SRVFVRVNURUQgfSlcblx0XHRcdGlmIChjYXNWMUFjdGlvbikge1xuXHRcdFx0XHRvYXV0aFRva2VuID0geWllbGQgY2FsbChjYXNWMUxvZ2luRmxvdywgY2FzVjFBY3Rpb24pXG5cdFx0XHR9IGVsc2UgaWYgKGxvY2FsTG9naW5BY3Rpb24pIHtcblx0XHRcdFx0b2F1dGhUb2tlbiA9IHlpZWxkIGNhbGwobG9jYWxMb2dpbkZsb3csIGxvY2FsTG9naW5BY3Rpb24pXG5cdFx0XHR9IGVsc2UgaWYgKHBrY2VMb2dpbkFjdGlvbikge1xuXHRcdFx0XHQvLyBvYXV0aFRva2VuIGlzIG5vdCByZXR1cm5lZCBoZXJlLCBhcyB0aGlzIGZsb3cgd2lsbCByZXN1bHQgaW4gYSB3aW5kb3cgcmVkaXJlY3Rcblx0XHRcdFx0eWllbGQgY2FsbChwa2NlTG9naW5GbG93LCBwa2NlTG9naW5BY3Rpb24pXG5cdFx0XHRcdC8vIGJyZWFrIGV4ZWN1dGlvblxuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAob2F1dGhUb2tlbikge1xuXHRcdFx0eWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0VG9rZW4sIG9hdXRoVG9rZW4pXG5cdFx0XHR5aWVsZCBhbGwoe1xuXHRcdFx0XHRsb2dpblN1Y2Nlc3M6IHB1dDxBdXRoVG9rZW5TdWNjZXNzQWN0aW9uPih7XG5cdFx0XHRcdFx0dHlwZTogQVVUSF9UT0tFTl9TVUNDRVNTX0FDVElPTl9UWVBFLkdFVF9UT0tFTl9TVUNDRUVERUQsXG5cdFx0XHRcdFx0b2F1dGhUb2tlblxuXHRcdFx0XHR9KSxcblx0XHRcdFx0bG9nT3V0OiB0YWtlKEFVVEhfQUNUSU9OX1RZUEUuTE9HX09VVF9SRVFVRVNURUQpXG5cdFx0XHR9KVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR5aWVsZCBwdXQ8QXV0aEFjdGlvbj4oeyB0eXBlOiBBVVRIX0FDVElPTl9UWVBFLkxPR0lOX0ZBSUxFRCB9KVxuXHRcdH1cblxuXHRcdHlpZWxkIGFsbCh7XG5cdFx0XHRjbGVhclVzZXJEYXRhOiBwdXQ8TW9kZWxSZW1vdmVLZXlBY3Rpb24+KHsgdHlwZTogTU9ERUxfUkVNT1ZFX0tFWV9BQ1RJT05fVFlQRSwgbW9kZWxQYXRoOiAndXNlcicgfSksXG5cdFx0XHRjbGVhclBlcnNpc3RlbnRUb2tlbjogY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0VG9rZW4sIG51bGwpXG5cdFx0fSlcblx0XHRvYXV0aFRva2VuID0gbnVsbFxuXHR9IHdoaWxlICh0cnVlKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLG9CQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSx3QkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssc0JBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGNBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQVAsT0FBQTtBQVNBLElBQUFRLE9BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLElBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVYsT0FBQTtBQXdCQTs7QUFFTyxNQUFNVyx5QkFBeUIsR0FBR0EsQ0FBQ0MsTUFBaUIsRUFBRUMsU0FBaUIsS0FDN0UsSUFBQUMsMENBQWlDLEVBQUNGLE1BQU0sQ0FBQyxJQUFJQSxNQUFNLENBQUNHLFNBQVMsS0FBS0YsU0FBUztBQUFBRyxPQUFBLENBQUFMLHlCQUFBLEdBQUFB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
|
|
414
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZWZmZWN0cyIsInJlcXVpcmUiLCJfdXVpZCIsIl9jb25zdGFudHMiLCJfY29kZVByb3ZpZGVyU2VydmljZSIsIl9vYXV0aFBlcnNpc3RlbmNlU2VydmljZSIsIl90aWNrZXRQcm92aWRlclNlcnZpY2UiLCJfd2luZG93U2VydmljZSIsIl90eXBlcyIsIl9sb2dnZXIiLCJfdXJsIiwiX2FjdGlvbnMiLCJtYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkIiwiYWN0aW9uIiwibW9kZWxOYW1lIiwiaXNUcmFuc2llbnRNb2RlbEZldGNoUmVzdWx0QWN0aW9uIiwibW9kZWxQYXRoIiwiZXhwb3J0cyIsInRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkIiwiaW5jb21pbmdBY3Rpb24iLCJtYXRjaGVzTW9kZWxGZXRjaEZhaWxlZCIsImlzVHJhbnNpZW50TW9kZWxGZXRjaEVycm9yQWN0aW9uIiwidGFrZU1hdGNoZXNNb2RlbEZldGNoRmFpbGVkIiwib2F1dGhUb2tlbiIsIm9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlIiwicmVmcmVzaExvY2siLCJsb2dnZXIiLCJnZXRUb2tlbkZyb21Db2RlIiwiY29kZSIsImFwcENvbmZpZyIsImdldEFwcENvbmZpZyIsIkNMSUVOVF9JRCIsIkNMSUVOVF9TRUNSRVQiLCJFcnJvciIsImdldFRva2VuTW9kZWxOYW1lIiwiZm9ybUJvZHkiLCJVUkxTZWFyY2hQYXJhbXMiLCJncmFudF90eXBlIiwiY2xpZW50X2lkIiwiY2xpZW50X3NlY3JldCIsInB1dCIsInR5cGUiLCJNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFIiwiRkVUQ0hfUkVRVUVTVCIsImJvZHkiLCJ0b1N0cmluZyIsIm5vU3RvcmUiLCJmZXRjaFJlc3VsdEFjdGlvbiIsImZldGNoRXJyb3JBY3Rpb24iLCJyYWNlIiwidGFrZSIsImRhdGEiLCJnZXRUb2tlbkZyb21Db2RlQW5kU3RhdGUiLCJzdGF0ZSIsIk9BVVRIX1BLQ0VfU0NPUEUiLCJPQVVUSF9QS0NFX0VORFBPSU5UIiwiY29kZVZlcmlmaWVyIiwiY2FsbCIsImdldFBlcnNpc3RlZENvZGVWZXJpZmllciIsInBlcnNpc3RlZFN0YXRlIiwiZ2V0UGVyc2lzdGVkU3RhdGUiLCJwZXJzaXN0U3RhdGUiLCJwZXJzaXN0Q29kZVZlcmlmaWVyIiwibG9jYXRpb24iLCJ3aW5kb3dTZXJ2aWNlIiwiZ2V0TG9jYXRpb24iLCJzY29wZSIsImNvZGVfdmVyaWZpZXIiLCJyZWRpcmVjdF91cmkiLCJvcmlnaW4iLCJnZXRUb2tlbkZyb21SZWZyZXNoVG9rZW4iLCJvYXV0aFRva2VuUGFyYW0iLCJyZWZyZXNoX3Rva2VuIiwiYXBwZW5kIiwiZXJyb3JEYXRhIiwic3RhdHVzIiwiSFRUUF9TVEFUVVNfQ09ERSIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsInBlcmZvcm1Ub2tlblJlZnJlc2giLCJyZWZyZXNoU3VjY2VzcyIsIkFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRSIsIlRPS0VOX1JFRlJFU0hfU1VDQ0VFREVEIiwicmVmcmVzaEZhaWxlZCIsIkFVVEhfQUNUSU9OX1RZUEUiLCJUT0tFTl9SRUZSRVNIX0ZBSUxFRCIsImRlYnVnIiwib3JpZ2luYWxBY2Nlc3NUb2tlbiIsImFjY2Vzc190b2tlbiIsInBlcnNpc3RUb2tlbiIsImFsbCIsImxvZ091dCIsIkxPR19PVVRfUkVRVUVTVEVEIiwibG9naW5GbG93IiwibW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24iLCJjcmVkZW50aWFsc0xvZ2luRmxvdyIsIm5vUmV0cnkiLCJjYXNWMUxvZ2luRmxvdyIsImxvY2FsTG9naW5GbG93IiwiY2FzVGlja2V0TG9naW5GbG93IiwidGlja2V0Iiwic2VydmljZSIsInF1ZXJ5UGFyYW1zIiwicGtjZUxvZ2luRmxvdyIsIl8iLCJ1dWlkdjQiLCJzaGEyNTZDb2RlVmVyaWZpZXIiLCJzaGEyNTZBc3luYyIsImNvZGVDaGFsbGVuZ2UiLCJiYXNlNjRVcmxFbmNvZGUiLCJwa2NlQXV0aFJlZGlyZWN0VVJMIiwicmVzcG9uc2VfdHlwZSIsImNvZGVfY2hhbGxlbmdlIiwiY29kZV9jaGFsbGVuZ2VfbWV0aG9kIiwicmVwbGFjZSIsImhhbmRsZUF1dGhGYWlsdXJlIiwiVU5BVVRIT1JJWkVEIiwiZ2V0T0F1dGhUb2tlbiIsInRoaXJ0eVNlY29uZHNGcm9tTm93IiwiRGF0ZSIsInNldFNlY29uZHMiLCJnZXRTZWNvbmRzIiwiYXV0aFNhZ2EiLCJvYXV0aFBlcnNpc3RlbmNlU2VydmljZVBhcmFtIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZGVmYXVsdE9BdXRoUGVyc2lzdGVuY2VTZXJ2aWNlIiwidGlja2V0UHJvdmlkZXJTZXJ2aWNlIiwiZGVmYXVsdFRpY2tldFByb3ZpZGVyU2VydmljZSIsImNvZGVQcm92aWRlclNlcnZpY2UiLCJkZWZhdWx0Q29kZVByb3ZpZGVyU2VydmljZSIsImdldExvZ2dlciIsImdldFBlcnNpc3RlZFRva2VuIiwiY2FzVGlja2V0IiwiZ2V0VGlja2V0IiwicmVtb3ZlVGlja2V0IiwiZ2V0QXBwU2VydmljZU5hbWUiLCJnZXRDb2RlIiwiY2xlYXJVc2VyRGF0YSIsIk1PREVMX1JFTU9WRV9LRVlfQUNUSU9OX1RZUEUiLCJjbGVhclBlcnNpc3RlbnRUb2tlbiIsImdldFN0YXRlIiwicmVtb3ZlQ29kZUFuZFN0YXRlIiwiQVVUSF9UT0tFTl9BQ1RJT05fVFlQRSIsIkFVVEhfSU5JVElBTElaRUQiLCJ0YWtlRXZlcnkiLCJNT0RFTF9GRVRDSF9FUlJPUl9BQ1RJT05fVFlQRSIsIlRSWV9GRVRDSF9GQUlMRUQiLCJjYXNWMUFjdGlvbiIsImxvY2FsTG9naW5BY3Rpb24iLCJwa2NlTG9naW5BY3Rpb24iLCJBVVRIX0NBU19WMV9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFIiwiQ0FTX1YxX0xPR0lOX1JFUVVFU1QiLCJBVVRIX0xPQ0FMX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUiLCJMT0NBTF9MT0dJTl9SRVFVRVNUIiwiQVVUSF9QS0NFX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUiLCJQS0NFX0xPR0lOX1JFUVVFU1QiLCJMT0dJTl9SRVFVRVNURUQiLCJsb2dpblN1Y2Nlc3MiLCJHRVRfVE9LRU5fU1VDQ0VFREVEIiwiTE9HSU5fRkFJTEVEIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlZHV4L3NhZ2FzL2F1dGhTYWdhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhZ2FJdGVyYXRvciB9IGZyb20gJ0ByZWR1eC1zYWdhL2NvcmUnXG5pbXBvcnQgeyBBbnlBY3Rpb24gfSBmcm9tICdyZWR1eCdcbmltcG9ydCB7IGFsbCwgY2FsbCwgcHV0LCByYWNlLCB0YWtlLCB0YWtlRXZlcnkgfSBmcm9tICdyZWR1eC1zYWdhL2VmZmVjdHMnXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJ1xuaW1wb3J0IHsgZ2V0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgY29kZVByb3ZpZGVyU2VydmljZSBhcyBkZWZhdWx0Q29kZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvZGVQcm92aWRlclNlcnZpY2UnXG5pbXBvcnQgeyBvYXV0aFBlcnNpc3RlbmNlU2VydmljZSBhcyBkZWZhdWx0T0F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vYXV0aFBlcnNpc3RlbmNlU2VydmljZSdcbmltcG9ydCB7IHRpY2tldFByb3ZpZGVyU2VydmljZSBhcyBkZWZhdWx0VGlja2V0UHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0UHJvdmlkZXJTZXJ2aWNlJ1xuaW1wb3J0IHsgd2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvd1NlcnZpY2UnXG5pbXBvcnQge1xuXHRDb2RlUHJvdmlkZXJTZXJ2aWNlLFxuXHRIVFRQX1NUQVRVU19DT0RFLFxuXHRPQXV0aFBlcnNpc3RlbmNlU2VydmljZSxcblx0T0F1dGhUb2tlbixcblx0T0F1dGhUb2tlbk9yTnVsbCxcblx0VGlja2V0UHJvdmlkZXJTZXJ2aWNlLFxuXHRUb2tlbkFjY2Vzc0Z1bmN0aW9uXG59IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0TG9nZ2VyLCBMb2dnZXIgfSBmcm9tICcuLi8uLi91dGlscy9sb2dnZXInXG5pbXBvcnQgeyBiYXNlNjRVcmxFbmNvZGUsIHNoYTI1NkFzeW5jIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXJsJ1xuaW1wb3J0IHtcblx0QVVUSF9BQ1RJT05fVFlQRSxcblx0QVVUSF9DQVNfVjFfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRSxcblx0QVVUSF9MT0NBTF9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFLFxuXHRBVVRIX1BLQ0VfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRSxcblx0QVVUSF9UT0tFTl9BQ1RJT05fVFlQRSxcblx0QVVUSF9UT0tFTl9TVUNDRVNTX0FDVElPTl9UWVBFLFxuXHRBdXRoQWN0aW9uLFxuXHRBdXRoQ2FzVjFMb2dpblJlcXVlc3RBY3Rpb24sXG5cdEF1dGhMb2NhbExvZ2luUmVxdWVzdEFjdGlvbixcblx0QXV0aFBLQ0VMb2dpblJlcXVlc3RBY3Rpb24sXG5cdEF1dGhUb2tlbkFjdGlvbixcblx0QXV0aFRva2VuU3VjY2Vzc0FjdGlvbixcblx0aXNUcmFuc2llbnRNb2RlbEZldGNoRXJyb3JBY3Rpb24sXG5cdGlzVHJhbnNpZW50TW9kZWxGZXRjaFJlc3VsdEFjdGlvbixcblx0TU9ERUxfRkVUQ0hfRVJST1JfQUNUSU9OX1RZUEUsXG5cdE1PREVMX0ZFVENIX1JFUVVFU1RfQUNUSU9OX1RZUEUsXG5cdE1PREVMX1JFTU9WRV9LRVlfQUNUSU9OX1RZUEUsXG5cdE1vZGVsRmV0Y2hFcnJvckFjdGlvbixcblx0TW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24sXG5cdE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb24sXG5cdE1vZGVsUmVtb3ZlS2V5QWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnXG5cbi8vI3JlZ2lvbiBIZWxwZXJzXG5cbmV4cG9ydCBjb25zdCBtYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkID0gKGFjdGlvbjogQW55QWN0aW9uLCBtb2RlbE5hbWU6IHN0cmluZykgPT5cblx0aXNUcmFuc2llbnRNb2RlbEZldGNoUmVzdWx0QWN0aW9uKGFjdGlvbikgJiYgYWN0aW9uLm1vZGVsUGF0aCA9PT0gbW9kZWxOYW1lXG5cbmV4cG9ydCBjb25zdCB0YWtlTWF0Y2hlc01vZGVsRmV0Y2hSZWNlaXZlZCA9IChtb2RlbE5hbWU6IHN0cmluZykgPT4gKGluY29taW5nQWN0aW9uOiBBbnlBY3Rpb24pID0+XG5cdG1hdGNoZXNNb2RlbEZldGNoUmVjZWl2ZWQoaW5jb21pbmdBY3Rpb24sIG1vZGVsTmFtZSlcblxuZXhwb3J0IGNvbnN0IG1hdGNoZXNNb2RlbEZldGNoRmFpbGVkID0gKGFjdGlvbjogQW55QWN0aW9uLCBtb2RlbE5hbWU6IHN0cmluZykgPT5cblx0aXNUcmFuc2llbnRNb2RlbEZldGNoRXJyb3JBY3Rpb24oYWN0aW9uKSAmJiBhY3Rpb24ubW9kZWxQYXRoID09PSBtb2RlbE5hbWVcblxuZXhwb3J0IGNvbnN0IHRha2VNYXRjaGVzTW9kZWxGZXRjaEZhaWxlZCA9IChtb2RlbE5hbWU6IHN0cmluZykgPT4gKGluY29taW5nQWN0aW9uOiBBbnlBY3Rpb24pID0+XG5cdG1hdGNoZXNNb2RlbEZldGNoRmFpbGVkKGluY29taW5nQWN0aW9uLCBtb2RlbE5hbWUpXG5cbi8vI2VuZHJlZ2lvbiBIZWxwZXJzXG5cbi8vI3JlZ2lvbiBMb2NhbCBWYXJpYWJsZXNcblxubGV0IG9hdXRoVG9rZW46IE9BdXRoVG9rZW5Pck51bGwgPSBudWxsXG5sZXQgb2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2U6IE9BdXRoUGVyc2lzdGVuY2VTZXJ2aWNlXG5sZXQgcmVmcmVzaExvY2s6IGJvb2xlYW5cbmxldCBsb2dnZXI6IExvZ2dlclxuXG4vLyNlbmRyZWdpb24gTG9jYWwgVmFyaWFibGVzXG5cbmV4cG9ydCBmdW5jdGlvbiogZ2V0VG9rZW5Gcm9tQ29kZShjb2RlOiBzdHJpbmcpOiBTYWdhSXRlcmF0b3Ige1xuXHRjb25zdCBhcHBDb25maWcgPSBnZXRBcHBDb25maWcoKVxuXHRpZiAoIWFwcENvbmZpZy5DTElFTlRfSUQgfHwgIWFwcENvbmZpZy5DTElFTlRfU0VDUkVUKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdDTElFTlRfSUQgYW5kIENMSUVOVF9TRUNSRVQgYXJlIHJlcXVpcmVkIGluIEFwcENvbmZpZycpXG5cdH1cblx0Y29uc3QgZ2V0VG9rZW5Nb2RlbE5hbWUgPSAnZ2V0VG9rZW4nXG5cdGNvbnN0IGZvcm1Cb2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG5cdFx0Z3JhbnRfdHlwZTogJ2F1dGhvcml6YXRpb25fY29kZScsXG5cdFx0Y2xpZW50X2lkOiBhcHBDb25maWcuQ0xJRU5UX0lELFxuXHRcdGNsaWVudF9zZWNyZXQ6IGFwcENvbmZpZy5DTElFTlRfU0VDUkVULFxuXHRcdGNvZGU6IGNvZGVcblx0fSlcblx0eWllbGQgcHV0PE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uPih7XG5cdFx0dHlwZTogTU9ERUxfRkVUQ0hfUkVRVUVTVF9BQ1RJT05fVFlQRS5GRVRDSF9SRVFVRVNULFxuXHRcdG1vZGVsTmFtZTogZ2V0VG9rZW5Nb2RlbE5hbWUsXG5cdFx0Ym9keTogZm9ybUJvZHkudG9TdHJpbmcoKSxcblx0XHRub1N0b3JlOiB0cnVlXG5cdH0pXG5cdGNvbnN0IHtcblx0XHRmZXRjaFJlc3VsdEFjdGlvbixcblx0XHRmZXRjaEVycm9yQWN0aW9uXG5cdH06IHsgZmV0Y2hSZXN1bHRBY3Rpb24/OiBNb2RlbEZldGNoUmVzdWx0QWN0aW9uOyBmZXRjaEVycm9yQWN0aW9uPzogTW9kZWxGZXRjaEVycm9yQWN0aW9uIH0gPSB5aWVsZCByYWNlKHtcblx0XHRmZXRjaFJlc3VsdEFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hSZWNlaXZlZChnZXRUb2tlbk1vZGVsTmFtZSkpLFxuXHRcdGZldGNoRXJyb3JBY3Rpb246IHRha2UodGFrZU1hdGNoZXNNb2RlbEZldGNoRmFpbGVkKGdldFRva2VuTW9kZWxOYW1lKSlcblx0fSlcblx0aWYgKGZldGNoRXJyb3JBY3Rpb24gfHwgIWZldGNoUmVzdWx0QWN0aW9uPy5kYXRhKSB7XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHRyZXR1cm4gZmV0Y2hSZXN1bHRBY3Rpb24uZGF0YVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGdldFRva2VuRnJvbUNvZGVBbmRTdGF0ZShjb2RlOiBzdHJpbmcsIHN0YXRlOiBzdHJpbmcpOiBTYWdhSXRlcmF0b3Ige1xuXHRjb25zdCBhcHBDb25maWcgPSBnZXRBcHBDb25maWcoKVxuXHRpZiAoIWFwcENvbmZpZy5DTElFTlRfSUQgfHwgIWFwcENvbmZpZy5PQVVUSF9QS0NFX1NDT1BFIHx8ICFhcHBDb25maWcuT0FVVEhfUEtDRV9FTkRQT0lOVCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignQ0xJRU5UX0lELCBPQVVUSF9QS0NFX1NDT1BFLCBhbmQgT0FVVEhfUEtDRV9FTkRQT0lOVCBhcmUgcmVxdWlyZWQgaW4gQXBwQ29uZmlnJylcblx0fVxuXG5cdC8vIHZhbGlkYXRlIHBlcnNpc3RlZCB2YWx1ZXNcblx0Y29uc3QgY29kZVZlcmlmaWVyID0geWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5nZXRQZXJzaXN0ZWRDb2RlVmVyaWZpZXIpXG5cdGlmICghY29kZVZlcmlmaWVyKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGNvZGVfdmVyaWZpZXInKVxuXHR9XG5cdGNvbnN0IHBlcnNpc3RlZFN0YXRlID0geWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5nZXRQZXJzaXN0ZWRTdGF0ZSlcblx0aWYgKHBlcnNpc3RlZFN0YXRlICE9PSBzdGF0ZSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzdGF0ZScpXG5cdH1cblx0Ly8gY2xlYXIgcGVyc2lzdGVkIHZhbHVlc1xuXHR5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RTdGF0ZSwgbnVsbClcblx0eWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0Q29kZVZlcmlmaWVyLCBudWxsKVxuXG5cdC8vIGRpc3BhdGNoIHJlcXVlc3Rcblx0Y29uc3QgZ2V0VG9rZW5Nb2RlbE5hbWUgPSAnZ2V0VG9rZW4nXG5cdGNvbnN0IGxvY2F0aW9uID0gd2luZG93U2VydmljZS5nZXRMb2NhdGlvbigpXG5cdGNvbnN0IGZvcm1Cb2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG5cdFx0Z3JhbnRfdHlwZTogJ2F1dGhvcml6YXRpb25fY29kZScsXG5cdFx0Y2xpZW50X2lkOiBhcHBDb25maWcuQ0xJRU5UX0lELFxuXHRcdHNjb3BlOiBhcHBDb25maWcuT0FVVEhfUEtDRV9TQ09QRSxcblx0XHRjb2RlX3ZlcmlmaWVyOiBjb2RlVmVyaWZpZXIsXG5cdFx0cmVkaXJlY3RfdXJpOiBsb2NhdGlvbi5vcmlnaW4sXG5cdFx0Y29kZTogY29kZVxuXHR9KVxuXHR5aWVsZCBwdXQ8TW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24+KHtcblx0XHR0eXBlOiBNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFLkZFVENIX1JFUVVFU1QsXG5cdFx0bW9kZWxOYW1lOiBnZXRUb2tlbk1vZGVsTmFtZSxcblx0XHRib2R5OiBmb3JtQm9keS50b1N0cmluZygpLFxuXHRcdG5vU3RvcmU6IHRydWVcblx0fSlcblx0Y29uc3Qge1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uLFxuXHRcdGZldGNoRXJyb3JBY3Rpb25cblx0fTogeyBmZXRjaFJlc3VsdEFjdGlvbj86IE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb247IGZldGNoRXJyb3JBY3Rpb24/OiBNb2RlbEZldGNoRXJyb3JBY3Rpb24gfSA9IHlpZWxkIHJhY2Uoe1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkKGdldFRva2VuTW9kZWxOYW1lKSksXG5cdFx0ZmV0Y2hFcnJvckFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQoZ2V0VG9rZW5Nb2RlbE5hbWUpKVxuXHR9KVxuXHRpZiAoZmV0Y2hFcnJvckFjdGlvbiB8fCAhZmV0Y2hSZXN1bHRBY3Rpb24/LmRhdGEpIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdHJldHVybiBmZXRjaFJlc3VsdEFjdGlvbi5kYXRhXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogZ2V0VG9rZW5Gcm9tUmVmcmVzaFRva2VuKG9hdXRoVG9rZW5QYXJhbTogT0F1dGhUb2tlbik6IFNhZ2FJdGVyYXRvciB7XG5cdGNvbnN0IGFwcENvbmZpZyA9IGdldEFwcENvbmZpZygpXG5cdGlmICghYXBwQ29uZmlnLkNMSUVOVF9JRCkge1xuXHRcdHRocm93IG5ldyBFcnJvcignQ0xJRU5UX0lEIGlzIHJlcXVpcmVkIGluIEFwcENvbmZpZycpXG5cdH1cblxuXHRjb25zdCBnZXRUb2tlbk1vZGVsTmFtZSA9ICdnZXRUb2tlbidcblx0Y29uc3QgZm9ybUJvZHkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcblx0XHRncmFudF90eXBlOiAncmVmcmVzaF90b2tlbicsXG5cdFx0Y2xpZW50X2lkOiBhcHBDb25maWcuQ0xJRU5UX0lELFxuXHRcdHJlZnJlc2hfdG9rZW46IG9hdXRoVG9rZW5QYXJhbS5yZWZyZXNoX3Rva2VuXG5cdH0pXG5cdC8vIGNyZWF0ZSB0aGUgZm9ybSBib2R5IGJhc2VkIG9uIGlmIHVzaW5nIGEgY2xpZW50X3NlY3JldDogdHJhZGl0aW9uYWwgT0F1dGggdnMuIFBLQ0UgZmxvd1xuXHRpZiAoYXBwQ29uZmlnLkNMSUVOVF9TRUNSRVQpIHtcblx0XHRmb3JtQm9keS5hcHBlbmQoJ2NsaWVudF9zZWNyZXQnLCBhcHBDb25maWcuQ0xJRU5UX1NFQ1JFVClcblx0fVxuXHR5aWVsZCBwdXQ8TW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24+KHtcblx0XHR0eXBlOiBNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFLkZFVENIX1JFUVVFU1QsXG5cdFx0bW9kZWxOYW1lOiBnZXRUb2tlbk1vZGVsTmFtZSxcblx0XHRib2R5OiBmb3JtQm9keS50b1N0cmluZygpLFxuXHRcdG5vU3RvcmU6IHRydWVcblx0fSlcblx0Y29uc3Qge1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uLFxuXHRcdGZldGNoRXJyb3JBY3Rpb25cblx0fTogeyBmZXRjaFJlc3VsdEFjdGlvbj86IE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb247IGZldGNoRXJyb3JBY3Rpb24/OiBNb2RlbEZldGNoRXJyb3JBY3Rpb24gfSA9IHlpZWxkIHJhY2Uoe1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkKGdldFRva2VuTW9kZWxOYW1lKSksXG5cdFx0ZmV0Y2hFcnJvckFjdGlvbjogdGFrZSh0YWtlTWF0Y2hlc01vZGVsRmV0Y2hGYWlsZWQoZ2V0VG9rZW5Nb2RlbE5hbWUpKVxuXHR9KVxuXHQvLyBhbnkgZXJyb3IgcmVzcG9uc2Vcblx0aWYgKGZldGNoRXJyb3JBY3Rpb24pIHtcblx0XHQvLyBpZ25vcmUgc2VydmVyIGVycm9yc1xuXHRcdGlmIChcblx0XHRcdGZldGNoRXJyb3JBY3Rpb24uZXJyb3JEYXRhPy5zdGF0dXMgJiZcblx0XHRcdGZldGNoRXJyb3JBY3Rpb24uZXJyb3JEYXRhLnN0YXR1cyA+PSBIVFRQX1NUQVRVU19DT0RFLklOVEVSTkFMX1NFUlZFUl9FUlJPUlxuXHRcdCkge1xuXHRcdFx0cmV0dXJuIG9hdXRoVG9rZW5QYXJhbVxuXHRcdH1cblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdC8vIGZvciBzb21lIHJlYXNvbiB0aGUgcmVzcG9uc2UgaGFkIG5vIGJvZHlcblx0aWYgKCFmZXRjaFJlc3VsdEFjdGlvbj8uZGF0YSkge1xuXHRcdHJldHVybiBudWxsXG5cdH1cblx0cmV0dXJuIGZldGNoUmVzdWx0QWN0aW9uLmRhdGFcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBwZXJmb3JtVG9rZW5SZWZyZXNoKCk6IFNhZ2FJdGVyYXRvciB7XG5cdGlmIChyZWZyZXNoTG9jayB8fCAhb2F1dGhUb2tlbikge1xuXHRcdC8vIGFscmVhZHkgcmVmcmVzaGluZy4gd2FpdCBmb3IgdGhlIGN1cnJlbnQgcmVmcmVzaCB0byBzdWNjZWVkIG9yIGZhaWwuXG5cdFx0eWllbGQgcmFjZSh7XG5cdFx0XHRyZWZyZXNoU3VjY2VzczogdGFrZShBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUuVE9LRU5fUkVGUkVTSF9TVUNDRUVERUQpLFxuXHRcdFx0cmVmcmVzaEZhaWxlZDogdGFrZShBVVRIX0FDVElPTl9UWVBFLlRPS0VOX1JFRlJFU0hfRkFJTEVEKVxuXHRcdH0pXG5cdFx0cmV0dXJuXG5cdH1cblx0bG9nZ2VyLmRlYnVnKCdSZWZyZXNoaW5nIE9BdXRoIHRva2VuJylcblx0cmVmcmVzaExvY2sgPSB0cnVlXG5cdC8vIG9hdXRoVG9rZW4gd2lsbCBiZSBzZXQgdG86XG5cdC8vIDEuIG5ldyB0b2tlbiAoc3VjY2Vzcylcblx0Ly8gMi4gc2FtZSB0b2tlbiAoZmFpbGVkIGZyb20gdGltZW91dCBvciBzZXJ2ZXIgZXJyb3IpXG5cdC8vIDMuIG51bGwgKGZhaWwpXG5cdGNvbnN0IG9yaWdpbmFsQWNjZXNzVG9rZW4gPSBvYXV0aFRva2VuLmFjY2Vzc190b2tlblxuXHRvYXV0aFRva2VuID0geWllbGQgY2FsbChnZXRUb2tlbkZyb21SZWZyZXNoVG9rZW4sIG9hdXRoVG9rZW4pXG5cdGlmICghIW9hdXRoVG9rZW4gJiYgb2F1dGhUb2tlbi5hY2Nlc3NfdG9rZW4gIT09IG9yaWdpbmFsQWNjZXNzVG9rZW4pIHtcblx0XHRsb2dnZXIuZGVidWcoJ09BdXRoIHRva2VuIHJlZnJlc2hlZCcpXG5cdFx0eWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0VG9rZW4sIG9hdXRoVG9rZW4pXG5cdFx0eWllbGQgcHV0PEF1dGhUb2tlblN1Y2Nlc3NBY3Rpb24+KHsgdHlwZTogQVVUSF9UT0tFTl9TVUNDRVNTX0FDVElPTl9UWVBFLlRPS0VOX1JFRlJFU0hfU1VDQ0VFREVELCBvYXV0aFRva2VuIH0pXG5cdH0gZWxzZSBpZiAob2F1dGhUb2tlbiA9PT0gbnVsbCkge1xuXHRcdGxvZ2dlci5kZWJ1ZygnT0F1dGggdG9rZW4gZmFpbGVkIHRvIHJlZnJlc2gnKVxuXHRcdC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbiBvdXRzaWRlIG9mIHRoZSB0b2tlbiBoYXZpbmcgYmVlbiByZXZva2VkIG9uIHRoZSBzZXJ2ZXIgc2lkZVxuXHRcdHlpZWxkIGFsbCh7XG5cdFx0XHRyZWZyZXNoRmFpbGVkOiBwdXQ8QXV0aEFjdGlvbj4oeyB0eXBlOiBBVVRIX0FDVElPTl9UWVBFLlRPS0VOX1JFRlJFU0hfRkFJTEVEIH0pLFxuXHRcdFx0bG9nT3V0OiBwdXQ8QXV0aEFjdGlvbj4oeyB0eXBlOiBBVVRIX0FDVElPTl9UWVBFLkxPR19PVVRfUkVRVUVTVEVEIH0pXG5cdFx0fSlcblx0fVxuXHRyZWZyZXNoTG9jayA9IGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogbG9naW5GbG93KG1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uOiBNb2RlbEZldGNoUmVxdWVzdEFjdGlvbik6IFNhZ2FJdGVyYXRvciB7XG5cdHlpZWxkIHB1dChtb2RlbEZldGNoUmVxdWVzdEFjdGlvbilcblx0Y29uc3Qge1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uLFxuXHRcdGZldGNoRXJyb3JBY3Rpb25cblx0fTogeyBmZXRjaFJlc3VsdEFjdGlvbj86IE1vZGVsRmV0Y2hSZXN1bHRBY3Rpb247IGZldGNoRXJyb3JBY3Rpb24/OiBNb2RlbEZldGNoRXJyb3JBY3Rpb24gfSA9IHlpZWxkIHJhY2Uoe1xuXHRcdGZldGNoUmVzdWx0QWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzTW9kZWxGZXRjaFJlY2VpdmVkKG1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uLm1vZGVsTmFtZSkpLFxuXHRcdGZldGNoRXJyb3JBY3Rpb246IHRha2UodGFrZU1hdGNoZXNNb2RlbEZldGNoRmFpbGVkKG1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uLm1vZGVsTmFtZSkpXG5cdH0pXG5cdGlmIChmZXRjaEVycm9yQWN0aW9uKSB7XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHRjb25zdCBjb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBmZXRjaFJlc3VsdEFjdGlvbj8uZGF0YT8uY29kZVxuXHRpZiAoIWNvZGUpIHtcblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cdHJldHVybiB5aWVsZCBjYWxsKGdldFRva2VuRnJvbUNvZGUsIGNvZGUpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogY3JlZGVudGlhbHNMb2dpbkZsb3coXG5cdGFjdGlvbjogQXV0aENhc1YxTG9naW5SZXF1ZXN0QWN0aW9uIHwgQXV0aExvY2FsTG9naW5SZXF1ZXN0QWN0aW9uLFxuXHRtb2RlbE5hbWU6IHN0cmluZ1xuKTogU2FnYUl0ZXJhdG9yIHtcblx0Y29uc3QgbW9kZWxGZXRjaFJlcXVlc3RBY3Rpb246IE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uID0ge1xuXHRcdC8vIHNldCByZXF1aXJlZCBkZWZhdWx0c1xuXHRcdHR5cGU6IE1PREVMX0ZFVENIX1JFUVVFU1RfQUNUSU9OX1RZUEUuRkVUQ0hfUkVRVUVTVCxcblx0XHRtb2RlbE5hbWUsXG5cdFx0bm9TdG9yZTogdHJ1ZSxcblx0XHQvLyBmb3JjZSBubyByZXRyeVxuXHRcdG5vUmV0cnk6IHRydWUsXG5cdFx0Ly8gcGFzcyB0aHJ1IGJvZHlcblx0XHRib2R5OiBhY3Rpb24uYm9keVxuXHR9XG5cdHJldHVybiB5aWVsZCBjYWxsKGxvZ2luRmxvdywgbW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogY2FzVjFMb2dpbkZsb3coYWN0aW9uOiBBdXRoQ2FzVjFMb2dpblJlcXVlc3RBY3Rpb24pOiBTYWdhSXRlcmF0b3Ige1xuXHRyZXR1cm4geWllbGQgY2FsbChjcmVkZW50aWFsc0xvZ2luRmxvdywgYWN0aW9uLCAnY29kZUZyb21DYXNWMScpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiogbG9jYWxMb2dpbkZsb3coYWN0aW9uOiBBdXRoTG9jYWxMb2dpblJlcXVlc3RBY3Rpb24pOiBTYWdhSXRlcmF0b3Ige1xuXHRyZXR1cm4geWllbGQgY2FsbChjcmVkZW50aWFsc0xvZ2luRmxvdywgYWN0aW9uLCAnY29kZUZyb21Mb2NhbENyZWRlbnRpYWxzJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBjYXNUaWNrZXRMb2dpbkZsb3codGlja2V0OiBzdHJpbmcsIHNlcnZpY2U6IHN0cmluZyk6IFNhZ2FJdGVyYXRvciB7XG5cdGNvbnN0IG1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uOiBNb2RlbEZldGNoUmVxdWVzdEFjdGlvbiA9IHtcblx0XHR0eXBlOiBNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFLkZFVENIX1JFUVVFU1QsXG5cdFx0bW9kZWxOYW1lOiAnY29kZUZyb21DYXNUaWNrZXQnLFxuXHRcdG5vU3RvcmU6IHRydWUsXG5cdFx0cXVlcnlQYXJhbXM6IHtcblx0XHRcdHRpY2tldCxcblx0XHRcdHNlcnZpY2Vcblx0XHR9XG5cdH1cblx0cmV0dXJuIHlpZWxkIGNhbGwobG9naW5GbG93LCBtb2RlbEZldGNoUmVxdWVzdEFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBwa2NlTG9naW5GbG93KF86IEF1dGhQS0NFTG9naW5SZXF1ZXN0QWN0aW9uKTogU2FnYUl0ZXJhdG9yIHtcblx0Y29uc3QgYXBwQ29uZmlnID0gZ2V0QXBwQ29uZmlnKClcblx0aWYgKCFhcHBDb25maWcuQ0xJRU5UX0lEIHx8ICFhcHBDb25maWcuT0FVVEhfUEtDRV9TQ09QRSB8fCAhYXBwQ29uZmlnLk9BVVRIX1BLQ0VfRU5EUE9JTlQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ0NMSUVOVF9JRCwgT0FVVEhfUEtDRV9TQ09QRSwgYW5kIE9BVVRIX1BLQ0VfRU5EUE9JTlQgYXJlIHJlcXVpcmVkIGluIEFwcENvbmZpZycpXG5cdH1cblxuXHQvLyBHZW5lcmF0ZSBzdGF0ZSBhbmQgY29kZSB2ZXJpZmllciB2YWx1ZXNcblx0Y29uc3Qgc3RhdGUgPSB1dWlkdjQoKVxuXHRjb25zdCBjb2RlVmVyaWZpZXIgPSB1dWlkdjQoKVxuXHRjb25zdCBzaGEyNTZDb2RlVmVyaWZpZXIgPSB5aWVsZCBjYWxsKHNoYTI1NkFzeW5jLCBjb2RlVmVyaWZpZXIpXG5cdGNvbnN0IGNvZGVDaGFsbGVuZ2UgPSB5aWVsZCBjYWxsKGJhc2U2NFVybEVuY29kZSwgc2hhMjU2Q29kZVZlcmlmaWVyKVxuXG5cdC8vIFBlcnNpc3Qgc3RhdGUgYW5kIGNvZGUgdmVyaWZpZXIgaW4gbG9jYWwgc3RvcmFnZSBmb3IgdXNlIGFmdGVyIGNvZGUgZmxvdyByZWRpcmVjdC5cblx0eWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0U3RhdGUsIHN0YXRlKVxuXHR5aWVsZCBjYWxsKG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3RDb2RlVmVyaWZpZXIsIGNvZGVWZXJpZmllcilcblxuXHQvLyBSZWRpcmVjdCB0byBCUyBjb2RlIGZsb3cgYXV0aCBlbmRwb2ludCAod2hpY2ggd2lsbCByZWRpcmVjdCBiYWNrIGhlcmUpXG5cdGNvbnN0IGxvY2F0aW9uID0gd2luZG93U2VydmljZS5nZXRMb2NhdGlvbigpXG5cdGNvbnN0IHBrY2VBdXRoUmVkaXJlY3RVUkwgPSBgJHthcHBDb25maWcuT0FVVEhfUEtDRV9FTkRQT0lOVH0/JHtuZXcgVVJMU2VhcmNoUGFyYW1zKHtcblx0XHRyZXNwb25zZV90eXBlOiAnY29kZScsXG5cdFx0Y2xpZW50X2lkOiBhcHBDb25maWcuQ0xJRU5UX0lELFxuXHRcdHN0YXRlOiBzdGF0ZSxcblx0XHRzY29wZTogYXBwQ29uZmlnLk9BVVRIX1BLQ0VfU0NPUEUsXG5cdFx0Y29kZV9jaGFsbGVuZ2U6IGNvZGVDaGFsbGVuZ2UsXG5cdFx0Y29kZV9jaGFsbGVuZ2VfbWV0aG9kOiAnUzI1NicsXG5cdFx0cmVkaXJlY3RfdXJpOiBsb2NhdGlvbi5vcmlnaW5cblx0fSl9YFxuXHR5aWVsZCBjYWxsKHdpbmRvd1NlcnZpY2UucmVwbGFjZSwgcGtjZUF1dGhSZWRpcmVjdFVSTClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiBoYW5kbGVBdXRoRmFpbHVyZShhY3Rpb246IE1vZGVsRmV0Y2hFcnJvckFjdGlvbik6IFNhZ2FJdGVyYXRvciB7XG5cdC8vIFRoaXMgc2hvdWxkIGJlIHVubGlrZWx5IHNpbmNlIHdlIG5vcm1hbGx5IGhhdmUgYSByZWZyZXNoIHRva2VuIGxvb3AgaGFwcGVuaW5nXG5cdC8vIGJ1dCBpZiB0aGUgYXBwIGlzIGJhY2tncm91bmRlZCwgdGhlIGxvb3AgbWlnaHQgbm90IGJlIGNhdWdodCB1cCB5ZXRcblx0aWYgKG9hdXRoVG9rZW4gJiYgYWN0aW9uLmVycm9yRGF0YSAmJiBhY3Rpb24uZXJyb3JEYXRhLnN0YXR1cyA9PT0gSFRUUF9TVEFUVVNfQ09ERS5VTkFVVEhPUklaRUQpIHtcblx0XHRsb2dnZXIuZGVidWcoJ3Rva2VuIGV4cGlyZWQgLSByZWZyZXNoaW5nJylcblx0XHR5aWVsZCBjYWxsKHBlcmZvcm1Ub2tlblJlZnJlc2gpXG5cdH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldE9BdXRoVG9rZW46IFRva2VuQWNjZXNzRnVuY3Rpb24gPSBmdW5jdGlvbiogKG1vZGVsTmFtZTogc3RyaW5nKSB7XG5cdC8vIERvbid0IHRyeSB0byByZWZyZXNoIHRoZSB0b2tlbiBpZiB3ZSdyZSBhbHJlYWR5IGluIGEgcmVxdWVzdCB0byByZWZyZXNoIHRoZSB0b2tlblxuXHRpZiAobW9kZWxOYW1lID09PSAnZ2V0VG9rZW4nKSB7XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXHRpZiAob2F1dGhUb2tlbiAmJiBvYXV0aFRva2VuWycuZXhwaXJlcyddKSB7XG5cdFx0Y29uc3QgdGhpcnR5U2Vjb25kc0Zyb21Ob3cgPSBuZXcgRGF0ZSgpXG5cdFx0dGhpcnR5U2Vjb25kc0Zyb21Ob3cuc2V0U2Vjb25kcyh0aGlydHlTZWNvbmRzRnJvbU5vdy5nZXRTZWNvbmRzKCkgKyAzMClcblx0XHRpZiAobmV3IERhdGUob2F1dGhUb2tlblsnLmV4cGlyZXMnXSkgPCB0aGlydHlTZWNvbmRzRnJvbU5vdykge1xuXHRcdFx0Ly8gc3RhcnQgYSB0b2tlbiByZWZyZXNoIGFuZCB3YWl0IGZvciB0aGUgc3VjY2VzcyBhY3Rpb24gaW4gY2FzZSBhbm90aGVyIHJlZnJlc2ggaXMgY3VycmVudGx5IGhhcHBlbmluZ1xuXHRcdFx0eWllbGQgY2FsbChwZXJmb3JtVG9rZW5SZWZyZXNoKVxuXHRcdFx0cmV0dXJuIG9hdXRoVG9rZW5cblx0XHR9XG5cdH1cblx0cmV0dXJuIG9hdXRoVG9rZW5cbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24qIGF1dGhTYWdhKFxuXHRvYXV0aFBlcnNpc3RlbmNlU2VydmljZVBhcmFtOiBPQXV0aFBlcnNpc3RlbmNlU2VydmljZSA9IGRlZmF1bHRPQXV0aFBlcnNpc3RlbmNlU2VydmljZSxcblx0dGlja2V0UHJvdmlkZXJTZXJ2aWNlOiBUaWNrZXRQcm92aWRlclNlcnZpY2UgPSBkZWZhdWx0VGlja2V0UHJvdmlkZXJTZXJ2aWNlLFxuXHRjb2RlUHJvdmlkZXJTZXJ2aWNlOiBDb2RlUHJvdmlkZXJTZXJ2aWNlID0gZGVmYXVsdENvZGVQcm92aWRlclNlcnZpY2Vcbik6IFNhZ2FJdGVyYXRvciB7XG5cdGxvZ2dlciA9IGdldExvZ2dlcigpXG5cdG9hdXRoUGVyc2lzdGVuY2VTZXJ2aWNlID0gb2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2VQYXJhbVxuXG5cdC8vIFRyeSB0byBnZXQgcGVyc2lzdGVkIHRva2VuIChub3JtYWxseSBpbiBBc3luY1N0b3JhZ2Ugb3IgTG9jYWxTdG9yYWdlKVxuXHRvYXV0aFRva2VuID0geWllbGQgY2FsbChvYXV0aFBlcnNpc3RlbmNlU2VydmljZS5nZXRQZXJzaXN0ZWRUb2tlbilcblxuXHQvLyBJZiBubyB0b2tlbiwgdHJ5IHRvIGdldCBDQVMgdGlja2V0IChub3JtYWxseSBpbiB0aGUgVVJMKSwgdXNlIGl0IHRvIGdldCBhIHRva2VuXG5cdGlmICghb2F1dGhUb2tlbikge1xuXHRcdGNvbnN0IGNhc1RpY2tldCA9IHRpY2tldFByb3ZpZGVyU2VydmljZS5nZXRUaWNrZXQoKVxuXHRcdHRpY2tldFByb3ZpZGVyU2VydmljZS5yZW1vdmVUaWNrZXQoKVxuXHRcdGNvbnN0IHNlcnZpY2UgPSB0aWNrZXRQcm92aWRlclNlcnZpY2UuZ2V0QXBwU2VydmljZU5hbWUoKVxuXHRcdGlmIChjYXNUaWNrZXQgJiYgc2VydmljZSkge1xuXHRcdFx0b2F1dGhUb2tlbiA9IHlpZWxkIGNhbGwoY2FzVGlja2V0TG9naW5GbG93LCBjYXNUaWNrZXQsIHNlcnZpY2UpXG5cdFx0fVxuXHR9XG5cblx0Ly8gSWYgT0F1dGggQ29kZSBleGlzdHMgKG5vcm1hbGx5IGluIHRoZSBVUkwpLCB1c2UgaXQgdG8gZ2V0IGEgdG9rZW5cblx0Y29uc3QgY29kZSA9IGNvZGVQcm92aWRlclNlcnZpY2UuZ2V0Q29kZSgpXG5cdGlmIChjb2RlKSB7XG5cdFx0Ly8gTG9nIG91dCB0aGUgY3VycmVudCB1c2VyIGlmIGEgbmV3IHRva2VuIGlzIGFib3V0IHRvIGJlIGdlbmVyYXRlZCBmcm9tIHRoZSBPQXV0aCBDb2RlXG5cdFx0aWYgKG9hdXRoVG9rZW4pIHtcblx0XHRcdHlpZWxkIGFsbCh7XG5cdFx0XHRcdGNsZWFyVXNlckRhdGE6IHB1dDxNb2RlbFJlbW92ZUtleUFjdGlvbj4oeyB0eXBlOiBNT0RFTF9SRU1PVkVfS0VZX0FDVElPTl9UWVBFLCBtb2RlbFBhdGg6ICd1c2VyJyB9KSxcblx0XHRcdFx0Y2xlYXJQZXJzaXN0ZW50VG9rZW46IGNhbGwob2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdFRva2VuLCBudWxsKVxuXHRcdFx0fSlcblx0XHRcdG9hdXRoVG9rZW4gPSBudWxsXG5cdFx0fVxuXG5cdFx0Ly8gSWYgT0F1dGggc3RhdGUgZXhpc3RzIChub3JtYWxseSBpbiB0aGUgVVJMKSwgdXNlIGl0IGluIGFkZGl0aW9uIHRvIHRoZSBjb2RlIGZvciBQS0NFIGxvZ2luIGZsb3dcblx0XHRjb25zdCBzdGF0ZSA9IGNvZGVQcm92aWRlclNlcnZpY2UuZ2V0U3RhdGUoKVxuXHRcdGlmIChzdGF0ZSkge1xuXHRcdFx0b2F1dGhUb2tlbiA9IHlpZWxkIGNhbGwoZ2V0VG9rZW5Gcm9tQ29kZUFuZFN0YXRlLCBjb2RlLCBzdGF0ZSlcblx0XHR9IGVsc2Uge1xuXHRcdFx0b2F1dGhUb2tlbiA9IHlpZWxkIGNhbGwoZ2V0VG9rZW5Gcm9tQ29kZSwgY29kZSlcblx0XHR9XG5cdH1cblx0Y29kZVByb3ZpZGVyU2VydmljZS5yZW1vdmVDb2RlQW5kU3RhdGUoKVxuXG5cdHlpZWxkIHB1dDxBdXRoVG9rZW5BY3Rpb24+KHsgdHlwZTogQVVUSF9UT0tFTl9BQ1RJT05fVFlQRS5BVVRIX0lOSVRJQUxJWkVELCBvYXV0aFRva2VuIH0pXG5cblx0eWllbGQgdGFrZUV2ZXJ5KE1PREVMX0ZFVENIX0VSUk9SX0FDVElPTl9UWVBFLlRSWV9GRVRDSF9GQUlMRUQsIGhhbmRsZUF1dGhGYWlsdXJlKVxuXG5cdGRvIHtcblx0XHRpZiAoIW9hdXRoVG9rZW4pIHtcblx0XHRcdGNvbnN0IHtcblx0XHRcdFx0Y2FzVjFBY3Rpb24sXG5cdFx0XHRcdGxvY2FsTG9naW5BY3Rpb24sXG5cdFx0XHRcdHBrY2VMb2dpbkFjdGlvblxuXHRcdFx0fToge1xuXHRcdFx0XHRjYXNWMUFjdGlvbj86IEF1dGhDYXNWMUxvZ2luUmVxdWVzdEFjdGlvblxuXHRcdFx0XHRsb2NhbExvZ2luQWN0aW9uPzogQXV0aExvY2FsTG9naW5SZXF1ZXN0QWN0aW9uXG5cdFx0XHRcdHBrY2VMb2dpbkFjdGlvbj86IEF1dGhQS0NFTG9naW5SZXF1ZXN0QWN0aW9uXG5cdFx0XHR9ID0geWllbGQgcmFjZSh7XG5cdFx0XHRcdGNhc1YxQWN0aW9uOiB0YWtlKEFVVEhfQ0FTX1YxX0xPR0lOX1JFUVVFU1RfQUNUSU9OX1RZUEUuQ0FTX1YxX0xPR0lOX1JFUVVFU1QpLFxuXHRcdFx0XHRsb2NhbExvZ2luQWN0aW9uOiB0YWtlKEFVVEhfTE9DQUxfTE9HSU5fUkVRVUVTVF9BQ1RJT05fVFlQRS5MT0NBTF9MT0dJTl9SRVFVRVNUKSxcblx0XHRcdFx0cGtjZUxvZ2luQWN0aW9uOiB0YWtlKEFVVEhfUEtDRV9MT0dJTl9SRVFVRVNUX0FDVElPTl9UWVBFLlBLQ0VfTE9HSU5fUkVRVUVTVClcblx0XHRcdH0pXG5cblx0XHRcdHlpZWxkIHB1dDxBdXRoQWN0aW9uPih7IHR5cGU6IEFVVEhfQUNUSU9OX1RZUEUuTE9HSU5fUkVRVUVTVEVEIH0pXG5cdFx0XHRpZiAoY2FzVjFBY3Rpb24pIHtcblx0XHRcdFx0b2F1dGhUb2tlbiA9IHlpZWxkIGNhbGwoY2FzVjFMb2dpbkZsb3csIGNhc1YxQWN0aW9uKVxuXHRcdFx0fSBlbHNlIGlmIChsb2NhbExvZ2luQWN0aW9uKSB7XG5cdFx0XHRcdG9hdXRoVG9rZW4gPSB5aWVsZCBjYWxsKGxvY2FsTG9naW5GbG93LCBsb2NhbExvZ2luQWN0aW9uKVxuXHRcdFx0fSBlbHNlIGlmIChwa2NlTG9naW5BY3Rpb24pIHtcblx0XHRcdFx0Ly8gb2F1dGhUb2tlbiBpcyBub3QgcmV0dXJuZWQgaGVyZSwgYXMgdGhpcyBmbG93IHdpbGwgcmVzdWx0IGluIGEgd2luZG93IHJlZGlyZWN0XG5cdFx0XHRcdHlpZWxkIGNhbGwocGtjZUxvZ2luRmxvdywgcGtjZUxvZ2luQWN0aW9uKVxuXHRcdFx0XHQvLyBicmVhayBleGVjdXRpb25cblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKG9hdXRoVG9rZW4pIHtcblx0XHRcdHlpZWxkIGNhbGwob2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdFRva2VuLCBvYXV0aFRva2VuKVxuXHRcdFx0eWllbGQgYWxsKHtcblx0XHRcdFx0bG9naW5TdWNjZXNzOiBwdXQ8QXV0aFRva2VuU3VjY2Vzc0FjdGlvbj4oe1xuXHRcdFx0XHRcdHR5cGU6IEFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRS5HRVRfVE9LRU5fU1VDQ0VFREVELFxuXHRcdFx0XHRcdG9hdXRoVG9rZW5cblx0XHRcdFx0fSksXG5cdFx0XHRcdGxvZ091dDogdGFrZShBVVRIX0FDVElPTl9UWVBFLkxPR19PVVRfUkVRVUVTVEVEKVxuXHRcdFx0fSlcblx0XHR9IGVsc2Uge1xuXHRcdFx0eWllbGQgcHV0PEF1dGhBY3Rpb24+KHsgdHlwZTogQVVUSF9BQ1RJT05fVFlQRS5MT0dJTl9GQUlMRUQgfSlcblx0XHR9XG5cblx0XHR5aWVsZCBhbGwoe1xuXHRcdFx0Y2xlYXJVc2VyRGF0YTogcHV0PE1vZGVsUmVtb3ZlS2V5QWN0aW9uPih7IHR5cGU6IE1PREVMX1JFTU9WRV9LRVlfQUNUSU9OX1RZUEUsIG1vZGVsUGF0aDogJ3VzZXInIH0pLFxuXHRcdFx0Y2xlYXJQZXJzaXN0ZW50VG9rZW46IGNhbGwob2F1dGhQZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdFRva2VuLCBudWxsKVxuXHRcdH0pXG5cdFx0b2F1dGhUb2tlbiA9IG51bGxcblx0fSB3aGlsZSAodHJ1ZSlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksd0JBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLHNCQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxjQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxNQUFBLEdBQUFQLE9BQUE7QUFTQSxJQUFBUSxPQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxJQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxRQUFBLEdBQUFWLE9BQUE7QUF3QkE7O0FBRU8sTUFBTVcseUJBQXlCLEdBQUdBLENBQUNDLE1BQWlCLEVBQUVDLFNBQWlCLEtBQzdFLElBQUFDLDBDQUFpQyxFQUFDRixNQUFNLENBQUMsSUFBSUEsTUFBTSxDQUFDRyxT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
|
|
@@ -21,8 +21,9 @@ const windowService = exports.windowService = {
|
|
|
21
21
|
},
|
|
22
22
|
getIsOnline: () => typeof isOnline !== 'undefined' ? isOnline : window.navigator.onLine,
|
|
23
23
|
replace: url => {
|
|
24
|
+
// do nothing for mock location
|
|
24
25
|
if (location) return;
|
|
25
26
|
window.location.replace(url);
|
|
26
27
|
}
|
|
27
28
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2NhdGlvbiIsImhpc3RvcnkiLCJpc09ubGluZSIsIndpbmRvd1NlcnZpY2UiLCJleHBvcnRzIiwic2V0TG9jYXRpb24iLCJ2YWx1ZSIsImdldExvY2F0aW9uIiwid2luZG93Iiwic2V0SGlzdG9yeSIsImdldEhpc3RvcnkiLCJzZXRJc09ubGluZSIsImdldElzT25saW5lIiwibmF2aWdhdG9yIiwib25MaW5lIiwicmVwbGFjZSIsInVybCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy93aW5kb3dTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpbXBsZUxvY2F0aW9uIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgV2luZG93U2VydmljZSB7XG5cdHNldExvY2F0aW9uOiAodmFsdWU/OiBTaW1wbGVMb2NhdGlvbikgPT4gdm9pZFxuXHRnZXRMb2NhdGlvbjogKCkgPT4gU2ltcGxlTG9jYXRpb24gfCBMb2NhdGlvblxuXHRzZXRIaXN0b3J5OiAodmFsdWU/OiBIaXN0b3J5KSA9PiB2b2lkXG5cdGdldEhpc3Rvcnk6ICgpID0+IEhpc3Rvcnlcblx0c2V0SXNPbmxpbmU6IChpc09ubGluZT86IGJvb2xlYW4pID0+IHZvaWRcblx0Z2V0SXNPbmxpbmU6ICgpID0+
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2NhdGlvbiIsImhpc3RvcnkiLCJpc09ubGluZSIsIndpbmRvd1NlcnZpY2UiLCJleHBvcnRzIiwic2V0TG9jYXRpb24iLCJ2YWx1ZSIsImdldExvY2F0aW9uIiwid2luZG93Iiwic2V0SGlzdG9yeSIsImdldEhpc3RvcnkiLCJzZXRJc09ubGluZSIsImdldElzT25saW5lIiwibmF2aWdhdG9yIiwib25MaW5lIiwicmVwbGFjZSIsInVybCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy93aW5kb3dTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpbXBsZUxvY2F0aW9uIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgV2luZG93U2VydmljZSB7XG5cdHNldExvY2F0aW9uOiAodmFsdWU/OiBTaW1wbGVMb2NhdGlvbikgPT4gdm9pZFxuXHRnZXRMb2NhdGlvbjogKCkgPT4gU2ltcGxlTG9jYXRpb24gfCBMb2NhdGlvblxuXHRzZXRIaXN0b3J5OiAodmFsdWU/OiBIaXN0b3J5KSA9PiB2b2lkXG5cdGdldEhpc3Rvcnk6ICgpID0+IEhpc3Rvcnlcblx0c2V0SXNPbmxpbmU6IChpc09ubGluZT86IGJvb2xlYW4pID0+IHZvaWRcblx0Z2V0SXNPbmxpbmU6ICgpID0+IGJvb2xlYW5cblx0cmVwbGFjZTogKHVybDogc3RyaW5nIHwgVVJMKSA9PiB2b2lkXG59XG5cbmxldCBsb2NhdGlvbjogU2ltcGxlTG9jYXRpb24gfCB1bmRlZmluZWRcbmxldCBoaXN0b3J5OiBIaXN0b3J5IHwgdW5kZWZpbmVkXG5sZXQgaXNPbmxpbmU6IGJvb2xlYW4gfCB1bmRlZmluZWRcblxuZXhwb3J0IGNvbnN0IHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UgPSB7XG5cdHNldExvY2F0aW9uOiAodmFsdWU/OiBTaW1wbGVMb2NhdGlvbikgPT4ge1xuXHRcdGxvY2F0aW9uID0gdmFsdWVcblx0fSxcblx0Z2V0TG9jYXRpb246ICgpID0+IGxvY2F0aW9uIHx8IHdpbmRvdy5sb2NhdGlvbixcblx0c2V0SGlzdG9yeTogKHZhbHVlPzogSGlzdG9yeSkgPT4ge1xuXHRcdGhpc3RvcnkgPSB2YWx1ZVxuXHR9LFxuXHRnZXRIaXN0b3J5OiAoKSA9PiBoaXN0b3J5IHx8IHdpbmRvdy5oaXN0b3J5LFxuXHRzZXRJc09ubGluZTogKHZhbHVlPzogYm9vbGVhbikgPT4ge1xuXHRcdGlzT25saW5lID0gdmFsdWVcblx0fSxcblx0Z2V0SXNPbmxpbmU6ICgpID0+ICh0eXBlb2YgaXNPbmxpbmUgIT09ICd1bmRlZmluZWQnID8gaXNPbmxpbmUgOiB3aW5kb3cubmF2aWdhdG9yLm9uTGluZSksXG5cdHJlcGxhY2U6ICh1cmw6IHN0cmluZyB8IFVSTCkgPT4ge1xuXHRcdC8vIGRvIG5vdGhpbmcgZm9yIG1vY2sgbG9jYXRpb25cblx0XHRpZiAobG9jYXRpb24pIHJldHVyblxuXHRcdHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHVybClcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFZQSxJQUFJQSxRQUFvQztBQUN4QyxJQUFJQyxPQUE0QjtBQUNoQyxJQUFJQyxRQUE2QjtBQUUxQixNQUFNQyxhQUE0QixHQUFBQyxPQUFBLENBQUFELGFBQUEsR0FBRztFQUMzQ0UsV0FBVyxFQUFHQyxLQUFzQixJQUFLO0lBQ3hDTixRQUFRLEdBQUdNLEtBQUs7RUFDakIsQ0FBQztFQUNEQyxXQUFXLEVBQUVBLENBQUEsS0FBTVAsUUFBUSxJQUFJUSxNQUFNLENBQUNSLFFBQVE7RUFDOUNTLFVBQVUsRUFBR0gsS0FBZSxJQUFLO0lBQ2hDTCxPQUFPLEdBQUdLLEtBQUs7RUFDaEIsQ0FBQztFQUNESSxVQUFVLEVBQUVBLENBQUEsS0FBTVQsT0FBTyxJQUFJTyxNQUFNLENBQUNQLE9BQU87RUFDM0NVLFdBQVcsRUFBR0wsS0FBZSxJQUFLO0lBQ2pDSixRQUFRLEdBQUdJLEtBQUs7RUFDakIsQ0FBQztFQUNETSxXQUFXLEVBQUVBLENBQUEsS0FBTyxPQUFPVixRQUFRLEtBQUssV0FBVyxHQUFHQSxRQUFRLEdBQUdNLE1BQU0sQ0FBQ0ssU0FBUyxDQUFDQyxNQUFPO0VBQ3pGQyxPQUFPLEVBQUdDLEdBQWlCLElBQUs7SUFDL0I7SUFDQSxJQUFJaEIsUUFBUSxFQUFFO0lBQ2RRLE1BQU0sQ0FBQ1IsUUFBUSxDQUFDZSxPQUFPLENBQUNDLEdBQUcsQ0FBQztFQUM3QjtBQUNELENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/startup.d.ts
CHANGED
|
@@ -2,16 +2,8 @@ import { History } from 'history';
|
|
|
2
2
|
import { Persistor } from 'redux-persist';
|
|
3
3
|
import { CustomStore } from './redux/configureStore';
|
|
4
4
|
import { AppConfiguration, BaseReduxState, EndpointMappings } from './types';
|
|
5
|
-
export interface
|
|
5
|
+
export interface StartupResponse<TReduxState extends BaseReduxState> {
|
|
6
6
|
history: History<any>;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* The base startup method. Configures AppConfig, Google Analytics, Application Insights, and Sentry.
|
|
10
|
-
* @param appConfig The static configuration for the application.
|
|
11
|
-
* @returns An object containing the created `history` object.
|
|
12
|
-
*/
|
|
13
|
-
export declare const baseStartup: (appConfig: AppConfiguration) => BaseStartupResponse;
|
|
14
|
-
export interface StartupResponse<TReduxState extends BaseReduxState> extends BaseStartupResponse {
|
|
15
7
|
store: CustomStore<TReduxState>;
|
|
16
8
|
persistor: Persistor;
|
|
17
9
|
}
|
package/lib/startup.js
CHANGED
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.startup =
|
|
7
|
+
exports.startup = void 0;
|
|
8
8
|
var _applicationinsightsWeb = require("@microsoft/applicationinsights-web");
|
|
9
9
|
var Sentry = _interopRequireWildcard(require("@sentry/react"));
|
|
10
10
|
var _history = require("history");
|
|
@@ -15,16 +15,30 @@ var _logger = require("./utils/logger");
|
|
|
15
15
|
var _url = require("./utils/url");
|
|
16
16
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
17
|
/**
|
|
18
|
-
* The
|
|
18
|
+
* The main startup method for your app. Should be called before rendering your app or importing other scaffolding modules.
|
|
19
|
+
*
|
|
20
|
+
* Optional startup methods are available to provide additional configuration. Call these **before** `startup`. These methods can all be imported from `studiokit-scaffolding-js`.
|
|
21
|
+
* * `redux/sagas/rootSaga`
|
|
22
|
+
* * `setOtherDependentSagas` to add more sagas
|
|
23
|
+
* * `redux/sagas/postLoginDataSaga`
|
|
24
|
+
* * `setOnPostLogin` to load more data after login
|
|
25
|
+
* * `redux/configureReducers`
|
|
26
|
+
* * `updatePersistBlacklist` and `setOtherReducers` to add more reducers
|
|
27
|
+
*
|
|
28
|
+
* @template TReduxState The type of state to be stored in redux
|
|
29
|
+
*
|
|
19
30
|
* @param appConfig The static configuration for the application.
|
|
20
|
-
* @
|
|
31
|
+
* @param endpointMappings The mapping of redux models to api endpoints.
|
|
32
|
+
*
|
|
33
|
+
* @returns An object containing the created `history`, `store`, and `persistor` objects.
|
|
21
34
|
*/
|
|
22
|
-
const
|
|
35
|
+
const startup = (appConfig, endpointMappings) => {
|
|
23
36
|
// set initial config, enabling `getApiBaseUrl` and `getShardKey`
|
|
24
37
|
(0, _configuration.setAppConfig)(appConfig);
|
|
25
38
|
// update API_BASE_URL with final value
|
|
26
39
|
const apiBaseUrl = (0, _url.getApiBaseUrl)(appConfig.TIER, appConfig.API_BASE_URL);
|
|
27
40
|
appConfig.API_BASE_URL = apiBaseUrl;
|
|
41
|
+
(0, _configuration.setEndpointMappings)(endpointMappings);
|
|
28
42
|
(0, _logger.setLogger)((0, _logger.createLogger)());
|
|
29
43
|
|
|
30
44
|
// Google Analytics
|
|
@@ -112,34 +126,6 @@ const baseStartup = appConfig => {
|
|
|
112
126
|
Sentry.captureException(evt.reason);
|
|
113
127
|
}
|
|
114
128
|
};
|
|
115
|
-
return {
|
|
116
|
-
history
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
exports.baseStartup = baseStartup;
|
|
120
|
-
/**
|
|
121
|
-
* The main startup method for your app. Should be called before rendering your app or importing other scaffolding modules.
|
|
122
|
-
*
|
|
123
|
-
* Optional startup methods are available to provide additional configuration. Call these **before** `startup`. These methods can all be imported from `studiokit-scaffolding-js`.
|
|
124
|
-
* * `redux/sagas/rootSaga`
|
|
125
|
-
* * `setOtherDependentSagas` to add more sagas
|
|
126
|
-
* * `redux/sagas/postLoginDataSaga`
|
|
127
|
-
* * `setOnPostLogin` to load more data after login
|
|
128
|
-
* * `redux/configureReducers`
|
|
129
|
-
* * `updatePersistBlacklist` and `setOtherReducers` to add more reducers
|
|
130
|
-
*
|
|
131
|
-
* @template TReduxState The type of state to be stored in redux
|
|
132
|
-
*
|
|
133
|
-
* @param appConfig The static configuration for the application.
|
|
134
|
-
* @param endpointMappings The mapping of redux models to api endpoints.
|
|
135
|
-
*
|
|
136
|
-
* @returns An object containing the created `history`, `store`, and `persistor` objects.
|
|
137
|
-
*/
|
|
138
|
-
const startup = (appConfig, endpointMappings) => {
|
|
139
|
-
(0, _configuration.setEndpointMappings)(endpointMappings);
|
|
140
|
-
const {
|
|
141
|
-
history
|
|
142
|
-
} = baseStartup(appConfig);
|
|
143
129
|
|
|
144
130
|
// Redux Store and Persistor
|
|
145
131
|
const {
|
|
@@ -154,4 +140,4 @@ const startup = (appConfig, endpointMappings) => {
|
|
|
154
140
|
return response;
|
|
155
141
|
};
|
|
156
142
|
exports.startup = startup;
|
|
157
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXBwbGljYXRpb25pbnNpZ2h0c1dlYiIsInJlcXVpcmUiLCJTZW50cnkiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9oaXN0b3J5IiwiX3JlYWN0R2EiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2NvbmZpZ3VyYXRpb24iLCJfY29uZmlndXJlU3RvcmUiLCJfbG9nZ2VyIiwiX3VybCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImJhc2VTdGFydHVwIiwiYXBwQ29uZmlnIiwic2V0QXBwQ29uZmlnIiwiYXBpQmFzZVVybCIsImdldEFwaUJhc2VVcmwiLCJUSUVSIiwiQVBJX0JBU0VfVVJMIiwic2V0TG9nZ2VyIiwiY3JlYXRlTG9nZ2VyIiwiR09PR0xFX0FOQUxZVElDU19UUkFDS0lOR19JRCIsImdhIiwiaW5pdGlhbGl6ZSIsInNlbmQiLCJoaXRUeXBlIiwicGFnZSIsIndpbmRvdyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJBUFBfSU5TSUdIVFNfQ09OTkVDVElPTl9TVFJJTkciLCJhcHBJbnNpZ2h0c0NvbmZpZyIsImNvbm5lY3Rpb25TdHJpbmciLCJhcHBJbnNpZ2h0cyIsIkFwcGxpY2F0aW9uSW5zaWdodHMiLCJjb25maWciLCJsb2FkQXBwSW5zaWdodHMiLCJzZXRBcHBJbnNpZ2h0cyIsImhpc3RvcnkiLCJjcmVhdGVCcm93c2VySGlzdG9yeSIsImxvY2F0aW9uTGlzdGVuZXIiLCJ1c2VyX2lkIiwiZ2V0VXNlcklkIiwiZ2V0QXBwSW5zaWdodHMiLCJ0cmFja1BhZ2VWaWV3IiwidXJpIiwibGlzdGVuIiwiU0VOVFJZX0RTTiIsImluaXQiLCJkc24iLCJyZWxlYXNlIiwiVkVSU0lPTiIsImVudmlyb25tZW50IiwiZGVidWciLCJOT0RFX0VOViIsIm5vcm1hbGl6ZURlcHRoIiwibWF4VmFsdWVMZW5ndGgiLCJiZWZvcmVCcmVhZGNydW1iIiwiYnJlYWRjcnVtYiIsImNhdGVnb3J5IiwiaW50ZWdyYXRpb25zIiwiaHR0cENsaWVudEludGVncmF0aW9uIiwiZmFpbGVkUmVxdWVzdFRhcmdldHMiLCJyZWFjdFJvdXRlclY1QnJvd3NlclRyYWNpbmdJbnRlZ3JhdGlvbiIsInJlcGxheUludGVncmF0aW9uIiwidHJhY2VzU2FtcGxlUmF0ZSIsIlNFTlRSWV9UUkFDRVNfU0FNUExFX1JBVEUiLCJyZXBsYXlzU2Vzc2lvblNhbXBsZVJhdGUiLCJTRU5UUllfUkVQTEFZU19TRVNTSU9OX1NBTVBMRV9SQVRFIiwicmVwbGF5c09uRXJyb3JTYW1wbGVSYXRlIiwiU0VOVFJZX1JFUExBWVNfT05fRVJST1JfU0FNUExFX1JBVEUiLCJvbnVuaGFuZGxlZHJlamVjdGlvbiIsImV2dCIsIm1lc3NhZ2UiLCJyZWFzb24iLCJzb21lIiwicyIsImluY2x1ZGVzIiwibmF2aWdhdG9yIiwib25MaW5lIiwiYWxlcnQiLCJBUFBfTkFNRSIsImRvY3VtZW50IiwicmVsb2FkIiwiY2FwdHVyZUV4Y2VwdGlvbiIsImV4cG9ydHMiLCJzdGFydHVwIiwiZW5kcG9pbnRNYXBwaW5ncyIsInNldEVuZHBvaW50TWFwcGluZ3MiLCJzdG9yZSIsInBlcnNpc3RvciIsImNvbmZpZ3VyZVN0b3JlIiwicmVzcG9uc2UiXSwic291cmNlcyI6WyIuLi9zcmMvc3RhcnR1cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkluc2lnaHRzIH0gZnJvbSAnQG1pY3Jvc29mdC9hcHBsaWNhdGlvbmluc2lnaHRzLXdlYidcbmltcG9ydCAqIGFzIFNlbnRyeSBmcm9tICdAc2VudHJ5L3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlQnJvd3Nlckhpc3RvcnksIEhpc3RvcnksIExvY2F0aW9uLCBMb2NhdGlvbkxpc3RlbmVyIH0gZnJvbSAnaGlzdG9yeSdcbmltcG9ydCBnYSBmcm9tICdyZWFjdC1nYTQnXG5pbXBvcnQgeyBQZXJzaXN0b3IgfSBmcm9tICdyZWR1eC1wZXJzaXN0J1xuaW1wb3J0IHsgZ2V0QXBwSW5zaWdodHMsIGdldFVzZXJJZCwgc2V0QXBwQ29uZmlnLCBzZXRBcHBJbnNpZ2h0cywgc2V0RW5kcG9pbnRNYXBwaW5ncyB9IGZyb20gJy4vY29uc3RhbnRzL2NvbmZpZ3VyYXRpb24nXG5pbXBvcnQgY29uZmlndXJlU3RvcmUsIHsgQ3VzdG9tU3RvcmUgfSBmcm9tICcuL3JlZHV4L2NvbmZpZ3VyZVN0b3JlJ1xuaW1wb3J0IHsgQXBwQ29uZmlndXJhdGlvbiwgQmFzZVJlZHV4U3RhdGUsIEVuZHBvaW50TWFwcGluZ3MgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyLCBzZXRMb2dnZXIgfSBmcm9tICcuL3V0aWxzL2xvZ2dlcidcbmltcG9ydCB7IGdldEFwaUJhc2VVcmwgfSBmcm9tICcuL3V0aWxzL3VybCdcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlU3RhcnR1cFJlc3BvbnNlIHtcblx0aGlzdG9yeTogSGlzdG9yeTxhbnk+XG59XG5cbi8qKlxuICogVGhlIGJhc2Ugc3RhcnR1cCBtZXRob2QuIENvbmZpZ3VyZXMgQXBwQ29uZmlnLCBHb29nbGUgQW5hbHl0aWNzLCBBcHBsaWNhdGlvbiBJbnNpZ2h0cywgYW5kIFNlbnRyeS5cbiAqIEBwYXJhbSBhcHBDb25maWcgVGhlIHN0YXRpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwbGljYXRpb24uXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgY3JlYXRlZCBgaGlzdG9yeWAgb2JqZWN0LlxuICovXG5leHBvcnQgY29uc3QgYmFzZVN0YXJ0dXAgPSAoYXBwQ29uZmlnOiBBcHBDb25maWd1cmF0aW9uKTogQmFzZVN0YXJ0dXBSZXNwb25zZSA9PiB7XG5cdC8vIHNldCBpbml0aWFsIGNvbmZpZywgZW5hYmxpbmcgYGdldEFwaUJhc2VVcmxgIGFuZCBgZ2V0U2hhcmRLZXlgXG5cdHNldEFwcENvbmZpZyhhcHBDb25maWcpXG5cdC8vIHVwZGF0ZSBBUElfQkFTRV9VUkwgd2l0aCBmaW5hbCB2YWx1ZVxuXHRjb25zdCBhcGlCYXNlVXJsID0gZ2V0QXBpQmFzZVVybChhcHBDb25maWcuVElFUiwgYXBwQ29uZmlnLkFQSV9CQVNFX1VSTClcblx0YXBwQ29uZmlnLkFQSV9CQVNFX1VSTCA9IGFwaUJhc2VVcmxcblxuXHRzZXRMb2dnZXIoY3JlYXRlTG9nZ2VyKCkpXG5cblx0Ly8gR29vZ2xlIEFuYWx5dGljc1xuXHRpZiAoYXBwQ29uZmlnLkdPT0dMRV9BTkFMWVRJQ1NfVFJBQ0tJTkdfSUQpIHtcblx0XHRnYS5pbml0aWFsaXplKGFwcENvbmZpZy5HT09HTEVfQU5BTFlUSUNTX1RSQUNLSU5HX0lEKVxuXHRcdC8vIHRyYWNrIGluaXRpYWwgcGFnZVxuXHRcdGdhLnNlbmQoeyBoaXRUeXBlOiAncGFnZXZpZXcnLCBwYWdlOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgfSlcblx0fVxuXG5cdC8vIEFwcGxpY2F0aW9uIEluc2lnaHRzXG5cdGlmIChhcHBDb25maWcuQVBQX0lOU0lHSFRTX0NPTk5FQ1RJT05fU1RSSU5HKSB7XG5cdFx0Y29uc3QgYXBwSW5zaWdodHNDb25maWcgPSB7XG5cdFx0XHRjb25uZWN0aW9uU3RyaW5nOiBhcHBDb25maWcuQVBQX0lOU0lHSFRTX0NPTk5FQ1RJT05fU1RSSU5HXG5cdFx0fVxuXHRcdGNvbnN0IGFwcEluc2lnaHRzID0gbmV3IEFwcGxpY2F0aW9uSW5zaWdodHMoeyBjb25maWc6IGFwcEluc2lnaHRzQ29uZmlnIH0pXG5cdFx0YXBwSW5zaWdodHMubG9hZEFwcEluc2lnaHRzKClcblx0XHRzZXRBcHBJbnNpZ2h0cyhhcHBJbnNpZ2h0cylcblx0fVxuXG5cdC8vIEhpc3RvcnkgYW5kIExpc3RlbmVyXG5cdGNvbnN0IGhpc3RvcnkgPSBjcmVhdGVCcm93c2VySGlzdG9yeSgpXG5cdGNvbnN0IGxvY2F0aW9uTGlzdGVuZXI6IExvY2F0aW9uTGlzdGVuZXIgPSAobG9jYXRpb246IExvY2F0aW9uKSA9PiB7XG5cdFx0Ly8gc2VuZCBwYWdldmlldyB0byBHb29nbGUgQW5hbHl0aWNzXG5cdFx0aWYgKGFwcENvbmZpZy5HT09HTEVfQU5BTFlUSUNTX1RSQUNLSU5HX0lEKSB7XG5cdFx0XHRnYS5zZW5kKHsgaGl0VHlwZTogJ3BhZ2V2aWV3JywgcGFnZTogbG9jYXRpb24ucGF0aG5hbWUsIHVzZXJfaWQ6IGdldFVzZXJJZCgpIH0pXG5cdFx0fVxuXHRcdC8vIHNlbmQgcGFnZXZpZXcgdG8gQXBwbGljYXRpb24gSW5zaWdodHNcblx0XHRpZiAoYXBwQ29uZmlnLkFQUF9JTlNJR0hUU19DT05ORUNUSU9OX1NUUklORykge1xuXHRcdFx0Y29uc3QgYXBwSW5zaWdodHMgPSBnZXRBcHBJbnNpZ2h0cygpXG5cdFx0XHRhcHBJbnNpZ2h0cy50cmFja1BhZ2VWaWV3KHsgdXJpOiBsb2NhdGlvbi5wYXRobmFtZSB9KVxuXHRcdH1cblx0fVxuXHRoaXN0b3J5Lmxpc3Rlbihsb2NhdGlvbkxpc3RlbmVyKVxuXG5cdC8vIFNlbnRyeVxuXHRpZiAoYXBwQ29uZmlnLlNFTlRSWV9EU04pIHtcblx0XHRTZW50cnkuaW5pdCh7XG5cdFx0XHRkc246IGFwcENvbmZpZy5TRU5UUllfRFNOLFxuXHRcdFx0cmVsZWFzZTogYXBwQ29uZmlnLlZFUlNJT04sXG5cdFx0XHRlbnZpcm9ubWVudDogYXBwQ29uZmlnLlRJRVIsXG5cdFx0XHRkZWJ1ZzogYXBwQ29uZmlnLk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicsXG5cdFx0XHQvLyBsaW1pdCBkZXB0aCBvZiBkYXRhIGF0dGFjaGVkIHRvIGJyZWFkY3J1bWJzIGFuZCBjb250ZXh0c1xuXHRcdFx0bm9ybWFsaXplRGVwdGg6IDE1LFxuXHRcdFx0Ly8gaW5jcmVhc2UgbGVuZ3RoIG9mIGVycm9yIG1lc3NhZ2VzIGJlZm9yZSB0cnVuY2F0aW9uXG5cdFx0XHRtYXhWYWx1ZUxlbmd0aDogNDUwLFxuXHRcdFx0YmVmb3JlQnJlYWRjcnVtYihicmVhZGNydW1iKSB7XG5cdFx0XHRcdC8vIGRvIG5vdCB0cmFjayBjb25zb2xlIGxvZ3Mgd2hlbiBydW5uaW5nIGluIGRldmVsb3BtZW50IG1vZGUgKGxvY2FsbHkpXG5cdFx0XHRcdHJldHVybiBicmVhZGNydW1iLmNhdGVnb3J5ID09PSAnY29uc29sZScgJiYgYXBwQ29uZmlnLk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBudWxsIDogYnJlYWRjcnVtYlxuXHRcdFx0fSxcblx0XHRcdC8vIGVuYWJsZSBwZXJmb3JtYW5jZSB0cmFjaW5nIGFuZCBzZXNzaW9uIHJlcGxheXNcblx0XHRcdGludGVncmF0aW9uczogW1xuXHRcdFx0XHRTZW50cnkuaHR0cENsaWVudEludGVncmF0aW9uKHtcblx0XHRcdFx0XHRmYWlsZWRSZXF1ZXN0VGFyZ2V0czogW10gLy8gZGlzYWJsZSBhdXRvbWF0aWMgXCJmZXRjaFwiIGVycm9yIHRyYWNraW5nLCBzaW5jZSB3ZSBoYXZlIG91ciBvd24gY3VzdG9tIGVycm9yc1xuXHRcdFx0XHR9KSxcblx0XHRcdFx0U2VudHJ5LnJlYWN0Um91dGVyVjVCcm93c2VyVHJhY2luZ0ludGVncmF0aW9uKHsgaGlzdG9yeSB9KSxcblx0XHRcdFx0U2VudHJ5LnJlcGxheUludGVncmF0aW9uKClcblx0XHRcdF0sXG5cdFx0XHQvLyBzZXQgc2FtcGxlIHJhdGVzIGZvciBwZXJmb3JtYW5jZSB0cmFjaW5nIGFuZCBzZXNzaW9uIHJlcGxheXNcblx0XHRcdHRyYWNlc1NhbXBsZVJhdGU6IGFwcENvbmZpZy5TRU5UUllfVFJBQ0VTX1NBTVBMRV9SQVRFLFxuXHRcdFx0cmVwbGF5c1Nlc3Npb25TYW1wbGVSYXRlOiBhcHBDb25maWcuU0VOVFJZX1JFUExBWVNfU0VTU0lPTl9TQU1QTEVfUkFURSxcblx0XHRcdHJlcGxheXNPbkVycm9yU2FtcGxlUmF0ZTogYXBwQ29uZmlnLlNFTlRSWV9SRVBMQVlTX09OX0VSUk9SX1NBTVBMRV9SQVRFXG5cdFx0fSlcblx0fVxuXG5cdC8vIFVuaGFuZGxlZCBFcnJvcnNcblx0d2luZG93Lm9udW5oYW5kbGVkcmVqZWN0aW9uID0gKGV2dDogUHJvbWlzZVJlamVjdGlvbkV2ZW50KSA9PiB7XG5cdFx0Y29uc3QgbWVzc2FnZSA9IGV2dC5yZWFzb24/Lm1lc3NhZ2Vcblx0XHRpZiAoXG5cdFx0XHRtZXNzYWdlICYmXG5cdFx0XHR0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycgJiZcblx0XHRcdFtcblx0XHRcdFx0J0ZhaWxlZCB0byBmZXRjaCBkeW5hbWljYWxseSBpbXBvcnRlZCBtb2R1bGUnLFxuXHRcdFx0XHQnZXJyb3IgbG9hZGluZyBkeW5hbWljYWxseSBpbXBvcnRlZCBtb2R1bGUnLFxuXHRcdFx0XHQnSW1wb3J0aW5nIGEgbW9kdWxlIHNjcmlwdCBmYWlsZWQnXG5cdFx0XHRdLnNvbWUocyA9PiBtZXNzYWdlLmluY2x1ZGVzKHMpKVxuXHRcdCkge1xuXHRcdFx0aWYgKCF3aW5kb3cubmF2aWdhdG9yLm9uTGluZSkge1xuXHRcdFx0XHR3aW5kb3cuYWxlcnQoXG5cdFx0XHRcdFx0YFlvdXIgbmV0d29yayBjb25uZWN0aW9uIGFwcGVhcnMgdG8gYmUgaGF2aW5nIGlzc3Vlcy4gUGxlYXNlIGNoZWNrIHlvdXIgY29ubmVjdGlvbiBhbmQgcmVmcmVzaCB5b3VyIGJyb3dzZXIuYFxuXHRcdFx0XHQpXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR3aW5kb3cuYWxlcnQoXG5cdFx0XHRcdFx0YEEgbmV3IHZlcnNpb24gb2YgJHthcHBDb25maWcuQVBQX05BTUV9IGlzIGF2YWlsYWJsZS4gWW91ciBicm93c2VyIHdpbGwgbm93IHJlZnJlc2guIElmIHlvdSBzZWUgdGhpcyBtZXNzYWdlIGFnYWluLCBwbGVhc2UgY2xlYXIgeW91ciBicm93c2VyIGNhY2hlIGFuZCB0cnkgYWdhaW4uYFxuXHRcdFx0XHQpXG5cdFx0XHRcdGRvY3VtZW50LmxvY2F0aW9uLnJlbG9hZCgpXG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdFNlbnRyeS5jYXB0dXJlRXhjZXB0aW9uKGV2dC5yZWFzb24pXG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHsgaGlzdG9yeSB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhcnR1cFJlc3BvbnNlPFRSZWR1eFN0YXRlIGV4dGVuZHMgQmFzZVJlZHV4U3RhdGU+IGV4dGVuZHMgQmFzZVN0YXJ0dXBSZXNwb25zZSB7XG5cdHN0b3JlOiBDdXN0b21TdG9yZTxUUmVkdXhTdGF0ZT5cblx0cGVyc2lzdG9yOiBQZXJzaXN0b3Jcbn1cblxuLyoqXG4gKiBUaGUgbWFpbiBzdGFydHVwIG1ldGhvZCBmb3IgeW91ciBhcHAuIFNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIHJlbmRlcmluZyB5b3VyIGFwcCBvciBpbXBvcnRpbmcgb3RoZXIgc2NhZmZvbGRpbmcgbW9kdWxlcy5cbiAqXG4gKiBPcHRpb25hbCBzdGFydHVwIG1ldGhvZHMgYXJlIGF2YWlsYWJsZSB0byBwcm92aWRlIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbi4gQ2FsbCB0aGVzZSAqKmJlZm9yZSoqIGBzdGFydHVwYC4gVGhlc2UgbWV0aG9kcyBjYW4gYWxsIGJlIGltcG9ydGVkIGZyb20gYHN0dWRpb2tpdC1zY2FmZm9sZGluZy1qc2AuXG4gKiAqIGByZWR1eC9zYWdhcy9yb290U2FnYWBcbiAqICAgKiBgc2V0T3RoZXJEZXBlbmRlbnRTYWdhc2AgdG8gYWRkIG1vcmUgc2FnYXNcbiAqICogYHJlZHV4L3NhZ2FzL3Bvc3RMb2dpbkRhdGFTYWdhYFxuICogICAqIGBzZXRPblBvc3RMb2dpbmAgdG8gbG9hZCBtb3JlIGRhdGEgYWZ0ZXIgbG9naW5cbiAqICogYHJlZHV4L2NvbmZpZ3VyZVJlZHVjZXJzYFxuICogICAqIGB1cGRhdGVQZXJzaXN0QmxhY2tsaXN0YCBhbmQgYHNldE90aGVyUmVkdWNlcnNgIHRvIGFkZCBtb3JlIHJlZHVjZXJzXG4gKlxuICogQHRlbXBsYXRlIFRSZWR1eFN0YXRlIFRoZSB0eXBlIG9mIHN0YXRlIHRvIGJlIHN0b3JlZCBpbiByZWR1eFxuICpcbiAqIEBwYXJhbSBhcHBDb25maWcgVGhlIHN0YXRpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwbGljYXRpb24uXG4gKiBAcGFyYW0gZW5kcG9pbnRNYXBwaW5ncyBUaGUgbWFwcGluZyBvZiByZWR1eCBtb2RlbHMgdG8gYXBpIGVuZHBvaW50cy5cbiAqXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgY3JlYXRlZCBgaGlzdG9yeWAsIGBzdG9yZWAsIGFuZCBgcGVyc2lzdG9yYCBvYmplY3RzLlxuICovXG5leHBvcnQgY29uc3Qgc3RhcnR1cCA9IDxUUmVkdXhTdGF0ZSBleHRlbmRzIEJhc2VSZWR1eFN0YXRlPihcblx0YXBwQ29uZmlnOiBBcHBDb25maWd1cmF0aW9uLFxuXHRlbmRwb2ludE1hcHBpbmdzOiBFbmRwb2ludE1hcHBpbmdzXG4pID0+IHtcblx0c2V0RW5kcG9pbnRNYXBwaW5ncyhlbmRwb2ludE1hcHBpbmdzKVxuXHRjb25zdCB7IGhpc3RvcnkgfSA9IGJhc2VTdGFydHVwKGFwcENvbmZpZylcblxuXHQvLyBSZWR1eCBTdG9yZSBhbmQgUGVyc2lzdG9yXG5cdGNvbnN0IHsgc3RvcmUsIHBlcnNpc3RvciB9ID0gY29uZmlndXJlU3RvcmU8VFJlZHV4U3RhdGU+KGhpc3RvcnkpXG5cdGNvbnN0IHJlc3BvbnNlOiBTdGFydHVwUmVzcG9uc2U8VFJlZHV4U3RhdGU+ID0geyBoaXN0b3J5LCBzdG9yZSwgcGVyc2lzdG9yIH1cblx0cmV0dXJuIHJlc3BvbnNlXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSx1QkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBRUEsSUFBQU0sY0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sZUFBQSxH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
|
|
143
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXBwbGljYXRpb25pbnNpZ2h0c1dlYiIsInJlcXVpcmUiLCJTZW50cnkiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9oaXN0b3J5IiwiX3JlYWN0R2EiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2NvbmZpZ3VyYXRpb24iLCJfY29uZmlndXJlU3RvcmUiLCJfbG9nZ2VyIiwiX3VybCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInN0YXJ0dXAiLCJhcHBDb25maWciLCJlbmRwb2ludE1hcHBpbmdzIiwic2V0QXBwQ29uZmlnIiwiYXBpQmFzZVVybCIsImdldEFwaUJhc2VVcmwiLCJUSUVSIiwiQVBJX0JBU0VfVVJMIiwic2V0RW5kcG9pbnRNYXBwaW5ncyIsInNldExvZ2dlciIsImNyZWF0ZUxvZ2dlciIsIkdPT0dMRV9BTkFMWVRJQ1NfVFJBQ0tJTkdfSUQiLCJnYSIsImluaXRpYWxpemUiLCJzZW5kIiwiaGl0VHlwZSIsInBhZ2UiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInBhdGhuYW1lIiwiQVBQX0lOU0lHSFRTX0NPTk5FQ1RJT05fU1RSSU5HIiwiYXBwSW5zaWdodHNDb25maWciLCJjb25uZWN0aW9uU3RyaW5nIiwiYXBwSW5zaWdodHMiLCJBcHBsaWNhdGlvbkluc2lnaHRzIiwiY29uZmlnIiwibG9hZEFwcEluc2lnaHRzIiwic2V0QXBwSW5zaWdodHMiLCJoaXN0b3J5IiwiY3JlYXRlQnJvd3Nlckhpc3RvcnkiLCJsb2NhdGlvbkxpc3RlbmVyIiwidXNlcl9pZCIsImdldFVzZXJJZCIsImdldEFwcEluc2lnaHRzIiwidHJhY2tQYWdlVmlldyIsInVyaSIsImxpc3RlbiIsIlNFTlRSWV9EU04iLCJpbml0IiwiZHNuIiwicmVsZWFzZSIsIlZFUlNJT04iLCJlbnZpcm9ubWVudCIsImRlYnVnIiwiTk9ERV9FTlYiLCJub3JtYWxpemVEZXB0aCIsIm1heFZhbHVlTGVuZ3RoIiwiYmVmb3JlQnJlYWRjcnVtYiIsImJyZWFkY3J1bWIiLCJjYXRlZ29yeSIsImludGVncmF0aW9ucyIsImh0dHBDbGllbnRJbnRlZ3JhdGlvbiIsImZhaWxlZFJlcXVlc3RUYXJnZXRzIiwicmVhY3RSb3V0ZXJWNUJyb3dzZXJUcmFjaW5nSW50ZWdyYXRpb24iLCJyZXBsYXlJbnRlZ3JhdGlvbiIsInRyYWNlc1NhbXBsZVJhdGUiLCJTRU5UUllfVFJBQ0VTX1NBTVBMRV9SQVRFIiwicmVwbGF5c1Nlc3Npb25TYW1wbGVSYXRlIiwiU0VOVFJZX1JFUExBWVNfU0VTU0lPTl9TQU1QTEVfUkFURSIsInJlcGxheXNPbkVycm9yU2FtcGxlUmF0ZSIsIlNFTlRSWV9SRVBMQVlTX09OX0VSUk9SX1NBTVBMRV9SQVRFIiwib251bmhhbmRsZWRyZWplY3Rpb24iLCJldnQiLCJtZXNzYWdlIiwicmVhc29uIiwic29tZSIsInMiLCJpbmNsdWRlcyIsIm5hdmlnYXRvciIsIm9uTGluZSIsImFsZXJ0IiwiQVBQX05BTUUiLCJkb2N1bWVudCIsInJlbG9hZCIsImNhcHR1cmVFeGNlcHRpb24iLCJzdG9yZSIsInBlcnNpc3RvciIsImNvbmZpZ3VyZVN0b3JlIiwicmVzcG9uc2UiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3N0YXJ0dXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25JbnNpZ2h0cyB9IGZyb20gJ0BtaWNyb3NvZnQvYXBwbGljYXRpb25pbnNpZ2h0cy13ZWInXG5pbXBvcnQgKiBhcyBTZW50cnkgZnJvbSAnQHNlbnRyeS9yZWFjdCdcbmltcG9ydCB7IGNyZWF0ZUJyb3dzZXJIaXN0b3J5LCBIaXN0b3J5LCBMb2NhdGlvbiwgTG9jYXRpb25MaXN0ZW5lciB9IGZyb20gJ2hpc3RvcnknXG5pbXBvcnQgZ2EgZnJvbSAncmVhY3QtZ2E0J1xuaW1wb3J0IHsgUGVyc2lzdG9yIH0gZnJvbSAncmVkdXgtcGVyc2lzdCdcbmltcG9ydCB7IGdldEFwcEluc2lnaHRzLCBnZXRVc2VySWQsIHNldEFwcENvbmZpZywgc2V0QXBwSW5zaWdodHMsIHNldEVuZHBvaW50TWFwcGluZ3MgfSBmcm9tICcuL2NvbnN0YW50cy9jb25maWd1cmF0aW9uJ1xuaW1wb3J0IGNvbmZpZ3VyZVN0b3JlLCB7IEN1c3RvbVN0b3JlIH0gZnJvbSAnLi9yZWR1eC9jb25maWd1cmVTdG9yZSdcbmltcG9ydCB7IEFwcENvbmZpZ3VyYXRpb24sIEJhc2VSZWR1eFN0YXRlLCBFbmRwb2ludE1hcHBpbmdzIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IGNyZWF0ZUxvZ2dlciwgc2V0TG9nZ2VyIH0gZnJvbSAnLi91dGlscy9sb2dnZXInXG5pbXBvcnQgeyBnZXRBcGlCYXNlVXJsIH0gZnJvbSAnLi91dGlscy91cmwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhcnR1cFJlc3BvbnNlPFRSZWR1eFN0YXRlIGV4dGVuZHMgQmFzZVJlZHV4U3RhdGU+IHtcblx0aGlzdG9yeTogSGlzdG9yeTxhbnk+XG5cdHN0b3JlOiBDdXN0b21TdG9yZTxUUmVkdXhTdGF0ZT5cblx0cGVyc2lzdG9yOiBQZXJzaXN0b3Jcbn1cblxuLyoqXG4gKiBUaGUgbWFpbiBzdGFydHVwIG1ldGhvZCBmb3IgeW91ciBhcHAuIFNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIHJlbmRlcmluZyB5b3VyIGFwcCBvciBpbXBvcnRpbmcgb3RoZXIgc2NhZmZvbGRpbmcgbW9kdWxlcy5cbiAqXG4gKiBPcHRpb25hbCBzdGFydHVwIG1ldGhvZHMgYXJlIGF2YWlsYWJsZSB0byBwcm92aWRlIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbi4gQ2FsbCB0aGVzZSAqKmJlZm9yZSoqIGBzdGFydHVwYC4gVGhlc2UgbWV0aG9kcyBjYW4gYWxsIGJlIGltcG9ydGVkIGZyb20gYHN0dWRpb2tpdC1zY2FmZm9sZGluZy1qc2AuXG4gKiAqIGByZWR1eC9zYWdhcy9yb290U2FnYWBcbiAqICAgKiBgc2V0T3RoZXJEZXBlbmRlbnRTYWdhc2AgdG8gYWRkIG1vcmUgc2FnYXNcbiAqICogYHJlZHV4L3NhZ2FzL3Bvc3RMb2dpbkRhdGFTYWdhYFxuICogICAqIGBzZXRPblBvc3RMb2dpbmAgdG8gbG9hZCBtb3JlIGRhdGEgYWZ0ZXIgbG9naW5cbiAqICogYHJlZHV4L2NvbmZpZ3VyZVJlZHVjZXJzYFxuICogICAqIGB1cGRhdGVQZXJzaXN0QmxhY2tsaXN0YCBhbmQgYHNldE90aGVyUmVkdWNlcnNgIHRvIGFkZCBtb3JlIHJlZHVjZXJzXG4gKlxuICogQHRlbXBsYXRlIFRSZWR1eFN0YXRlIFRoZSB0eXBlIG9mIHN0YXRlIHRvIGJlIHN0b3JlZCBpbiByZWR1eFxuICpcbiAqIEBwYXJhbSBhcHBDb25maWcgVGhlIHN0YXRpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwbGljYXRpb24uXG4gKiBAcGFyYW0gZW5kcG9pbnRNYXBwaW5ncyBUaGUgbWFwcGluZyBvZiByZWR1eCBtb2RlbHMgdG8gYXBpIGVuZHBvaW50cy5cbiAqXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgY3JlYXRlZCBgaGlzdG9yeWAsIGBzdG9yZWAsIGFuZCBgcGVyc2lzdG9yYCBvYmplY3RzLlxuICovXG5leHBvcnQgY29uc3Qgc3RhcnR1cCA9IDxUUmVkdXhTdGF0ZSBleHRlbmRzIEJhc2VSZWR1eFN0YXRlPihcblx0YXBwQ29uZmlnOiBBcHBDb25maWd1cmF0aW9uLFxuXHRlbmRwb2ludE1hcHBpbmdzOiBFbmRwb2ludE1hcHBpbmdzXG4pID0+IHtcblx0Ly8gc2V0IGluaXRpYWwgY29uZmlnLCBlbmFibGluZyBgZ2V0QXBpQmFzZVVybGAgYW5kIGBnZXRTaGFyZEtleWBcblx0c2V0QXBwQ29uZmlnKGFwcENvbmZpZylcblx0Ly8gdXBkYXRlIEFQSV9CQVNFX1VSTCB3aXRoIGZpbmFsIHZhbHVlXG5cdGNvbnN0IGFwaUJhc2VVcmwgPSBnZXRBcGlCYXNlVXJsKGFwcENvbmZpZy5USUVSLCBhcHBDb25maWcuQVBJX0JBU0VfVVJMKVxuXHRhcHBDb25maWcuQVBJX0JBU0VfVVJMID0gYXBpQmFzZVVybFxuXG5cdHNldEVuZHBvaW50TWFwcGluZ3MoZW5kcG9pbnRNYXBwaW5ncylcblx0c2V0TG9nZ2VyKGNyZWF0ZUxvZ2dlcigpKVxuXG5cdC8vIEdvb2dsZSBBbmFseXRpY3Ncblx0aWYgKGFwcENvbmZpZy5HT09HTEVfQU5BTFlUSUNTX1RSQUNLSU5HX0lEKSB7XG5cdFx0Z2EuaW5pdGlhbGl6ZShhcHBDb25maWcuR09PR0xFX0FOQUxZVElDU19UUkFDS0lOR19JRClcblx0XHQvLyB0cmFjayBpbml0aWFsIHBhZ2Vcblx0XHRnYS5zZW5kKHsgaGl0VHlwZTogJ3BhZ2V2aWV3JywgcGFnZTogd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lIH0pXG5cdH1cblxuXHQvLyBBcHBsaWNhdGlvbiBJbnNpZ2h0c1xuXHRpZiAoYXBwQ29uZmlnLkFQUF9JTlNJR0hUU19DT05ORUNUSU9OX1NUUklORykge1xuXHRcdGNvbnN0IGFwcEluc2lnaHRzQ29uZmlnID0ge1xuXHRcdFx0Y29ubmVjdGlvblN0cmluZzogYXBwQ29uZmlnLkFQUF9JTlNJR0hUU19DT05ORUNUSU9OX1NUUklOR1xuXHRcdH1cblx0XHRjb25zdCBhcHBJbnNpZ2h0cyA9IG5ldyBBcHBsaWNhdGlvbkluc2lnaHRzKHsgY29uZmlnOiBhcHBJbnNpZ2h0c0NvbmZpZyB9KVxuXHRcdGFwcEluc2lnaHRzLmxvYWRBcHBJbnNpZ2h0cygpXG5cdFx0c2V0QXBwSW5zaWdodHMoYXBwSW5zaWdodHMpXG5cdH1cblxuXHQvLyBIaXN0b3J5IGFuZCBMaXN0ZW5lclxuXHRjb25zdCBoaXN0b3J5ID0gY3JlYXRlQnJvd3Nlckhpc3RvcnkoKVxuXHRjb25zdCBsb2NhdGlvbkxpc3RlbmVyOiBMb2NhdGlvbkxpc3RlbmVyID0gKGxvY2F0aW9uOiBMb2NhdGlvbikgPT4ge1xuXHRcdC8vIHNlbmQgcGFnZXZpZXcgdG8gR29vZ2xlIEFuYWx5dGljc1xuXHRcdGlmIChhcHBDb25maWcuR09PR0xFX0FOQUxZVElDU19UUkFDS0lOR19JRCkge1xuXHRcdFx0Z2Euc2VuZCh7IGhpdFR5cGU6ICdwYWdldmlldycsIHBhZ2U6IGxvY2F0aW9uLnBhdGhuYW1lLCB1c2VyX2lkOiBnZXRVc2VySWQoKSB9KVxuXHRcdH1cblx0XHQvLyBzZW5kIHBhZ2V2aWV3IHRvIEFwcGxpY2F0aW9uIEluc2lnaHRzXG5cdFx0aWYgKGFwcENvbmZpZy5BUFBfSU5TSUdIVFNfQ09OTkVDVElPTl9TVFJJTkcpIHtcblx0XHRcdGNvbnN0IGFwcEluc2lnaHRzID0gZ2V0QXBwSW5zaWdodHMoKVxuXHRcdFx0YXBwSW5zaWdodHMudHJhY2tQYWdlVmlldyh7IHVyaTogbG9jYXRpb24ucGF0aG5hbWUgfSlcblx0XHR9XG5cdH1cblx0aGlzdG9yeS5saXN0ZW4obG9jYXRpb25MaXN0ZW5lcilcblxuXHQvLyBTZW50cnlcblx0aWYgKGFwcENvbmZpZy5TRU5UUllfRFNOKSB7XG5cdFx0U2VudHJ5LmluaXQoe1xuXHRcdFx0ZHNuOiBhcHBDb25maWcuU0VOVFJZX0RTTixcblx0XHRcdHJlbGVhc2U6IGFwcENvbmZpZy5WRVJTSU9OLFxuXHRcdFx0ZW52aXJvbm1lbnQ6IGFwcENvbmZpZy5USUVSLFxuXHRcdFx0ZGVidWc6IGFwcENvbmZpZy5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLFxuXHRcdFx0Ly8gbGltaXQgZGVwdGggb2YgZGF0YSBhdHRhY2hlZCB0byBicmVhZGNydW1icyBhbmQgY29udGV4dHNcblx0XHRcdG5vcm1hbGl6ZURlcHRoOiAxNSxcblx0XHRcdC8vIGluY3JlYXNlIGxlbmd0aCBvZiBlcnJvciBtZXNzYWdlcyBiZWZvcmUgdHJ1bmNhdGlvblxuXHRcdFx0bWF4VmFsdWVMZW5ndGg6IDQ1MCxcblx0XHRcdGJlZm9yZUJyZWFkY3J1bWIoYnJlYWRjcnVtYikge1xuXHRcdFx0XHQvLyBkbyBub3QgdHJhY2sgY29uc29sZSBsb2dzIHdoZW4gcnVubmluZyBpbiBkZXZlbG9wbWVudCBtb2RlIChsb2NhbGx5KVxuXHRcdFx0XHRyZXR1cm4gYnJlYWRjcnVtYi5jYXRlZ29yeSA9PT0gJ2NvbnNvbGUnICYmIGFwcENvbmZpZy5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gbnVsbCA6IGJyZWFkY3J1bWJcblx0XHRcdH0sXG5cdFx0XHQvLyBlbmFibGUgcGVyZm9ybWFuY2UgdHJhY2luZyBhbmQgc2Vzc2lvbiByZXBsYXlzXG5cdFx0XHRpbnRlZ3JhdGlvbnM6IFtcblx0XHRcdFx0U2VudHJ5Lmh0dHBDbGllbnRJbnRlZ3JhdGlvbih7XG5cdFx0XHRcdFx0ZmFpbGVkUmVxdWVzdFRhcmdldHM6IFtdIC8vIGRpc2FibGUgYXV0b21hdGljIFwiZmV0Y2hcIiBlcnJvciB0cmFja2luZywgc2luY2Ugd2UgaGF2ZSBvdXIgb3duIGN1c3RvbSBlcnJvcnNcblx0XHRcdFx0fSksXG5cdFx0XHRcdFNlbnRyeS5yZWFjdFJvdXRlclY1QnJvd3NlclRyYWNpbmdJbnRlZ3JhdGlvbih7IGhpc3RvcnkgfSksXG5cdFx0XHRcdFNlbnRyeS5yZXBsYXlJbnRlZ3JhdGlvbigpXG5cdFx0XHRdLFxuXHRcdFx0Ly8gc2V0IHNhbXBsZSByYXRlcyBmb3IgcGVyZm9ybWFuY2UgdHJhY2luZyBhbmQgc2Vzc2lvbiByZXBsYXlzXG5cdFx0XHR0cmFjZXNTYW1wbGVSYXRlOiBhcHBDb25maWcuU0VOVFJZX1RSQUNFU19TQU1QTEVfUkFURSxcblx0XHRcdHJlcGxheXNTZXNzaW9uU2FtcGxlUmF0ZTogYXBwQ29uZmlnLlNFTlRSWV9SRVBMQVlTX1NFU1NJT05fU0FNUExFX1JBVEUsXG5cdFx0XHRyZXBsYXlzT25FcnJvclNhbXBsZVJhdGU6IGFwcENvbmZpZy5TRU5UUllfUkVQTEFZU19PTl9FUlJPUl9TQU1QTEVfUkFURVxuXHRcdH0pXG5cdH1cblxuXHQvLyBVbmhhbmRsZWQgRXJyb3JzXG5cdHdpbmRvdy5vbnVuaGFuZGxlZHJlamVjdGlvbiA9IChldnQ6IFByb21pc2VSZWplY3Rpb25FdmVudCkgPT4ge1xuXHRcdGNvbnN0IG1lc3NhZ2UgPSBldnQucmVhc29uPy5tZXNzYWdlXG5cdFx0aWYgKFxuXHRcdFx0bWVzc2FnZSAmJlxuXHRcdFx0dHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnICYmXG5cdFx0XHRbXG5cdFx0XHRcdCdGYWlsZWQgdG8gZmV0Y2ggZHluYW1pY2FsbHkgaW1wb3J0ZWQgbW9kdWxlJyxcblx0XHRcdFx0J2Vycm9yIGxvYWRpbmcgZHluYW1pY2FsbHkgaW1wb3J0ZWQgbW9kdWxlJyxcblx0XHRcdFx0J0ltcG9ydGluZyBhIG1vZHVsZSBzY3JpcHQgZmFpbGVkJ1xuXHRcdFx0XS5zb21lKHMgPT4gbWVzc2FnZS5pbmNsdWRlcyhzKSlcblx0XHQpIHtcblx0XHRcdGlmICghd2luZG93Lm5hdmlnYXRvci5vbkxpbmUpIHtcblx0XHRcdFx0d2luZG93LmFsZXJ0KFxuXHRcdFx0XHRcdGBZb3VyIG5ldHdvcmsgY29ubmVjdGlvbiBhcHBlYXJzIHRvIGJlIGhhdmluZyBpc3N1ZXMuIFBsZWFzZSBjaGVjayB5b3VyIGNvbm5lY3Rpb24gYW5kIHJlZnJlc2ggeW91ciBicm93c2VyLmBcblx0XHRcdFx0KVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0d2luZG93LmFsZXJ0KFxuXHRcdFx0XHRcdGBBIG5ldyB2ZXJzaW9uIG9mICR7YXBwQ29uZmlnLkFQUF9OQU1FfSBpcyBhdmFpbGFibGUuIFlvdXIgYnJvd3NlciB3aWxsIG5vdyByZWZyZXNoLiBJZiB5b3Ugc2VlIHRoaXMgbWVzc2FnZSBhZ2FpbiwgcGxlYXNlIGNsZWFyIHlvdXIgYnJvd3NlciBjYWNoZSBhbmQgdHJ5IGFnYWluLmBcblx0XHRcdFx0KVxuXHRcdFx0XHRkb2N1bWVudC5sb2NhdGlvbi5yZWxvYWQoKVxuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihldnQucmVhc29uKVxuXHRcdH1cblx0fVxuXG5cdC8vIFJlZHV4IFN0b3JlIGFuZCBQZXJzaXN0b3Jcblx0Y29uc3QgeyBzdG9yZSwgcGVyc2lzdG9yIH0gPSBjb25maWd1cmVTdG9yZTxUUmVkdXhTdGF0ZT4oaGlzdG9yeSlcblx0Y29uc3QgcmVzcG9uc2U6IFN0YXJ0dXBSZXNwb25zZTxUUmVkdXhTdGF0ZT4gPSB7IGhpc3RvcnksIHN0b3JlLCBwZXJzaXN0b3IgfVxuXHRyZXR1cm4gcmVzcG9uc2Vcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLHVCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFFQSxJQUFBTSxjQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxlQUFBLEdBQUFGLHNCQUFBLENBQUFMLE9BQUE7QUFFQSxJQUFBUSxPQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxJQUFBLEdBQUFULE9BQUE7QUFBMkMsU0FBQUUsd0JBQUFRLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFWLHVCQUFBLFlBQUFBLENBQUFRLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxRQUFBQyxPQUFBLEVBQUFWLENBQUEsaUJBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFN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
|
|
@@ -3,45 +3,57 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export interface SimpleLocation {
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* The **`hash`** property of the Location interface is a string containing a `'#'` followed by the fragment identifier of the location URL.
|
|
7
|
+
*
|
|
8
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/hash)
|
|
8
9
|
*/
|
|
9
10
|
hash: string;
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* The **`host`** property of the Location interface is a string containing the host, which is the Location.hostname, and then, if the port of the URL is nonempty, a `':'`, followed by the Location.port of the URL.
|
|
13
|
+
*
|
|
14
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/host)
|
|
14
15
|
*/
|
|
15
16
|
host: string;
|
|
16
17
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
18
|
+
* The **`hostname`** property of the Location interface is a string containing either the domain name or IP address of the location URL.
|
|
19
|
+
*
|
|
20
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/hostname)
|
|
19
21
|
*/
|
|
20
22
|
hostname: string;
|
|
21
23
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
+
* The **`href`** property of the Location interface is a stringifier that returns a string containing the whole URL, and allows the href to be updated.
|
|
25
|
+
*
|
|
26
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/href)
|
|
24
27
|
*/
|
|
25
28
|
href: string;
|
|
26
29
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
30
|
+
* The **`origin`** read-only property of the Location interface returns a string containing the Unicode serialization of the origin of the location's URL.
|
|
31
|
+
*
|
|
32
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/origin)
|
|
33
|
+
*/
|
|
34
|
+
readonly origin: string;
|
|
35
|
+
/**
|
|
36
|
+
* The **`pathname`** property of the Location interface is a string containing the path of the URL for the location.
|
|
37
|
+
*
|
|
38
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/pathname)
|
|
29
39
|
*/
|
|
30
40
|
pathname: string;
|
|
31
41
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
42
|
+
* The **`port`** property of the Location interface is a string containing the port number of the location's URL.
|
|
43
|
+
*
|
|
44
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/port)
|
|
34
45
|
*/
|
|
35
46
|
port: string;
|
|
36
47
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
48
|
+
* The **`protocol`** property of the Location interface is a string containing the protocol or scheme of the location's URL, including the final `':'`.
|
|
49
|
+
*
|
|
50
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/protocol)
|
|
39
51
|
*/
|
|
40
52
|
protocol: string;
|
|
41
53
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
54
|
+
* The **`search`** property of the Location interface is a search string, also called a _query string_, that is a string containing a `'?'` followed by the parameters of the location's URL.
|
|
55
|
+
*
|
|
56
|
+
* [MDN Reference](https://developer.mozilla.org/docs/Web/API/Location/search)
|
|
44
57
|
*/
|
|
45
58
|
search: string;
|
|
46
|
-
origin: string;
|
|
47
59
|
}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL1NpbXBsZUxvY2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBzaW1wbGUgaW50ZXJmYWNlIGZvciBhIGRvbSBgTG9jYXRpb25gLCB0aGF0IGNhbiBiZSB1c2VkIGZvciB0ZXN0aW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpbXBsZUxvY2F0aW9uIHtcblx0LyoqXG5cdCAqIFRoZSAqKmBoYXNoYCoqIHByb3BlcnR5IG9mIHRoZSBMb2NhdGlvbiBpbnRlcmZhY2UgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGAnIydgIGZvbGxvd2VkIGJ5IHRoZSBmcmFnbWVudCBpZGVudGlmaWVyIG9mIHRoZSBsb2NhdGlvbiBVUkwuXG5cdCAqXG5cdCAqIFtNRE4gUmVmZXJlbmNlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvTG9jYXRpb24vaGFzaClcblx0ICovXG5cdGhhc2g6IHN0cmluZ1xuXHQvKipcblx0ICogVGhlICoqYGhvc3RgKiogcHJvcGVydHkgb2YgdGhlIExvY2F0aW9uIGludGVyZmFjZSBpcyBhIHN0cmluZyBjb250YWluaW5nIHRoZSBob3N0LCB3aGljaCBpcyB0aGUgTG9jYXRpb24uaG9zdG5hbWUsIGFuZCB0aGVuLCBpZiB0aGUgcG9ydCBvZiB0aGUgVVJMIGlzIG5vbmVtcHR5LCBhIGAnOidgLCBmb2xsb3dlZCBieSB0aGUgTG9jYXRpb24ucG9ydCBvZiB0aGUgVVJMLlxuXHQgKlxuXHQgKiBbTUROIFJlZmVyZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0xvY2F0aW9uL2hvc3QpXG5cdCAqL1xuXHRob3N0OiBzdHJpbmdcblx0LyoqXG5cdCAqIFRoZSAqKmBob3N0bmFtZWAqKiBwcm9wZXJ0eSBvZiB0aGUgTG9jYXRpb24gaW50ZXJmYWNlIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgZWl0aGVyIHRoZSBkb21haW4gbmFtZSBvciBJUCBhZGRyZXNzIG9mIHRoZSBsb2NhdGlvbiBVUkwuXG5cdCAqXG5cdCAqIFtNRE4gUmVmZXJlbmNlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvTG9jYXRpb24vaG9zdG5hbWUpXG5cdCAqL1xuXHRob3N0bmFtZTogc3RyaW5nXG5cdC8qKlxuXHQgKiBUaGUgKipgaHJlZmAqKiBwcm9wZXJ0eSBvZiB0aGUgTG9jYXRpb24gaW50ZXJmYWNlIGlzIGEgc3RyaW5naWZpZXIgdGhhdCByZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHdob2xlIFVSTCwgYW5kIGFsbG93cyB0aGUgaHJlZiB0byBiZSB1cGRhdGVkLlxuXHQgKlxuXHQgKiBbTUROIFJlZmVyZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0xvY2F0aW9uL2hyZWYpXG5cdCAqL1xuXHRocmVmOiBzdHJpbmdcblx0LyoqXG5cdCAqIFRoZSAqKmBvcmlnaW5gKiogcmVhZC1vbmx5IHByb3BlcnR5IG9mIHRoZSBMb2NhdGlvbiBpbnRlcmZhY2UgcmV0dXJucyBhIHN0cmluZyBjb250YWluaW5nIHRoZSBVbmljb2RlIHNlcmlhbGl6YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGUgbG9jYXRpb24ncyBVUkwuXG5cdCAqXG5cdCAqIFtNRE4gUmVmZXJlbmNlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvTG9jYXRpb24vb3JpZ2luKVxuXHQgKi9cblx0cmVhZG9ubHkgb3JpZ2luOiBzdHJpbmdcblx0LyoqXG5cdCAqIFRoZSAqKmBwYXRobmFtZWAqKiBwcm9wZXJ0eSBvZiB0aGUgTG9jYXRpb24gaW50ZXJmYWNlIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHBhdGggb2YgdGhlIFVSTCBmb3IgdGhlIGxvY2F0aW9uLlxuXHQgKlxuXHQgKiBbTUROIFJlZmVyZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0xvY2F0aW9uL3BhdGhuYW1lKVxuXHQgKi9cblx0cGF0aG5hbWU6IHN0cmluZ1xuXHQvKipcblx0ICogVGhlICoqYHBvcnRgKiogcHJvcGVydHkgb2YgdGhlIExvY2F0aW9uIGludGVyZmFjZSBpcyBhIHN0cmluZyBjb250YWluaW5nIHRoZSBwb3J0IG51bWJlciBvZiB0aGUgbG9jYXRpb24ncyBVUkwuXG5cdCAqXG5cdCAqIFtNRE4gUmVmZXJlbmNlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvTG9jYXRpb24vcG9ydClcblx0ICovXG5cdHBvcnQ6IHN0cmluZ1xuXHQvKipcblx0ICogVGhlICoqYHByb3RvY29sYCoqIHByb3BlcnR5IG9mIHRoZSBMb2NhdGlvbiBpbnRlcmZhY2UgaXMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgcHJvdG9jb2wgb3Igc2NoZW1lIG9mIHRoZSBsb2NhdGlvbidzIFVSTCwgaW5jbHVkaW5nIHRoZSBmaW5hbCBgJzonYC5cblx0ICpcblx0ICogW01ETiBSZWZlcmVuY2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9Mb2NhdGlvbi9wcm90b2NvbClcblx0ICovXG5cdHByb3RvY29sOiBzdHJpbmdcblx0LyoqXG5cdCAqIFRoZSAqKmBzZWFyY2hgKiogcHJvcGVydHkgb2YgdGhlIExvY2F0aW9uIGludGVyZmFjZSBpcyBhIHNlYXJjaCBzdHJpbmcsIGFsc28gY2FsbGVkIGEgX3F1ZXJ5IHN0cmluZ18sIHRoYXQgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGAnPydgIGZvbGxvd2VkIGJ5IHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBsb2NhdGlvbidzIFVSTC5cblx0ICpcblx0ICogW01ETiBSZWZlcmVuY2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9Mb2NhdGlvbi9zZWFyY2gpXG5cdCAqL1xuXHRzZWFyY2g6IHN0cmluZ1xufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "studiokit-scaffolding-js",
|
|
3
|
-
"version": "7.2.0-next.2.
|
|
3
|
+
"version": "7.2.0-next.2.8",
|
|
4
4
|
"description": "Common scaffolding for Studio apps at Purdue",
|
|
5
5
|
"repository": "https://gitlab.com/purdue-informatics/studiokit/studiokit-scaffolding-js",
|
|
6
6
|
"license": "MIT",
|