@openelement/app 0.41.0-alpha.2 → 0.41.0-alpha.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openelement/app",
3
- "version": "0.41.0-alpha.2",
3
+ "version": "0.41.0-alpha.3",
4
4
  "type": "module",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -38,9 +38,9 @@
38
38
  "deno"
39
39
  ],
40
40
  "dependencies": {
41
- "@openelement/protocol": "^0.41.0-alpha.2",
42
- "@openelement/core": "^0.41.0-alpha.2",
43
- "@openelement/element": "^0.41.0-alpha.2",
44
- "@openelement/router": "^0.41.0-alpha.2"
41
+ "@openelement/protocol": "^0.41.0-alpha.3",
42
+ "@openelement/core": "^0.41.0-alpha.3",
43
+ "@openelement/element": "^0.41.0-alpha.3",
44
+ "@openelement/router": "^0.41.0-alpha.3"
45
45
  }
46
46
  }
@@ -55,10 +55,10 @@ const log = createLogger('i18n');
55
55
  // Write i18n options to ctx (shared build context)
56
56
  // The @openelement/generated/i18n plugin reads ctx.plugins.i18nOptions in its load() hook
57
57
  if (ctx) {
58
- ctx.plugins.i18nOptions = {
58
+ ctx.registerPlugin('i18nOptions', {
59
59
  locales: i18nData.locales,
60
60
  defaultLocale: i18nData.defaultLocale
61
- };
61
+ });
62
62
  }
63
63
  // SOP-001: Write generated i18n data module to disk
64
64
  try {
@@ -78,4 +78,4 @@ const log = createLogger('i18n');
78
78
  }
79
79
  // Use @openelement/app/i18n for runtime helpers: i18nStaticPaths, loadI18nData, switchLocale, normalizeLocalePath
80
80
  export default openI18n;
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9hcHAvc3JjL2kxOG4tcGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG9wZW5lbGVtZW50L2FwcC9pMThuLXBsdWdpbiAtIE5vZGUtb25seSBWaXRlIHBsdWdpbiBmb3IgaTE4blxuICpcbiAqIGRlbm8tYXBpLWZyZWU6aWdub3JlIOKAlCBidWlsZC10aW1lIFZpdGUgcGx1Z2luLCBhbGxvd2VkIHRvIHVzZSBub2RlOiouXG4gKlxuICogVGhpcyBtb2R1bGUgdXNlcyBub2RlOnByb2Nlc3MsIG5vZGU6cGF0aCwgbm9kZTpmcyBhbmQgTVVTVCBOT1QgYmUgaW1wb3J0ZWRcbiAqIGZyb20gdGhlIG1haW4gQG9wZW5lbGVtZW50L2FwcCBlbnRyeSB0byBhdm9pZCBwdWxsaW5nIE5vZGUgYnVpbHQtaW5zIGludG9cbiAqIGNsaWVudCBpc2xhbmQgYnVuZGxlcy5cbiAqXG4gKiBTdGFuZGFsb25lIHVzYWdlIHJlcXVpcmVzIGV4cGxpY2l0IGN0eCBwYXJhbWV0ZXI6XG4gKiBgYGB0c1xuICogb3BlbkkxOG4oeyBsb2NhbGVzOiBbJ2VuJywgJ3poJ10sIGRlZmF1bHRMb2NhbGU6ICdlbicsIGN0eCB9KTsgIC8vIGN0eCBtdXN0IGJlIGV4cGxpY2l0bHkgcGFzc2VkXG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHR5cGUgeyBPcGVuRWxlbWVudEJ1aWxkQ29udGV4dExpa2UgfSBmcm9tICdAb3BlbmVsZW1lbnQvcHJvdG9jb2wvZnJhbWV3b3JrJztcbmltcG9ydCB7IGNyZWF0ZUxvZ2dlciB9IGZyb20gJ0BvcGVuZWxlbWVudC9jb3JlL2xvZ2dlcic7XG5pbXBvcnQgeyBmb3JtYXRFcnJvciB9IGZyb20gJ0BvcGVuZWxlbWVudC9jb3JlL2Vycm9ycyc7XG4vLyBwb255dGFpbDogYnVpbGQtdGltZSBWaXRlIHBsdWdpbiwgZGVuby1hcGktZnJlZTppZ25vcmUgYXBwbGllc1xuaW1wb3J0IHByb2Nlc3MgZnJvbSAnbm9kZTpwcm9jZXNzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgbWtkaXJTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyBsb2FkSTE4bkRhdGEgfSBmcm9tICcuL2kxOG4tcnVudGltZS5qcyc7XG5pbXBvcnQgdHlwZSB7IE9wZW5FbGVtZW50STE4bk9wdGlvbnMgfSBmcm9tICcuL2kxOG4tcnVudGltZS5qcyc7XG5cbmNvbnN0IGxvZyA9IGNyZWF0ZUxvZ2dlcignaTE4bicpO1xuXG4vLyDilIDilIDilIAgRGF0YSB1dGlsaXRpZXMgKG5vZGUtb25seSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogR2VuZXJhdGUgVHlwZVNjcmlwdCBtb2R1bGUgc291cmNlIGNvZGUgZm9yIGkxOG4gY29uZmlndXJhdGlvbi5cbiAqIFRoZSBvdXRwdXQgaXMgYSBzZWxmLWNvbnRhaW5lZCAudHMgZmlsZSB0aGF0IGV4cG9ydHMgbG9jYWxlcyxcbiAqIGRlZmF1bHRMb2NhbGUsIGFuZCBoZWxwZXIgZnVuY3Rpb25zLlxuICpcbiAqIFNPUC0wMDE6IFZpcnR1YWwgTW9kdWxlcyBSZW1vdmFsIOKAlCByZXBsYWNlcyBAb3BlbmVsZW1lbnQvZ2VuZXJhdGVkL2kxOG4uXG4gKlxuICogQHBhcmFtIGxvY2FsZXMgLSBBcnJheSBvZiBsb2NhbGUgY29kZSBzdHJpbmdzIChlLmcuIFsnZW4nLCAnemgnXSlcbiAqIEBwYXJhbSBkZWZhdWx0TG9jYWxlIC0gRGVmYXVsdCBsb2NhbGUgY29kZSAoZS5nLiAnZW4nKVxuICogQHJldHVybnMgVHlwZVNjcmlwdCBtb2R1bGUgc291cmNlIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVJMThuRGF0YU1vZHVsZShsb2NhbGVzOiBzdHJpbmdbXSwgZGVmYXVsdExvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIFtcbiAgICAnLy8gQXV0by1nZW5lcmF0ZWQgYnkgQG9wZW5lbGVtZW50L2FwcC9pMThuIOKAlCBkbyBub3QgZWRpdCcsXG4gICAgYGV4cG9ydCBjb25zdCBsb2NhbGVzID0gJHtKU09OLnN0cmluZ2lmeShsb2NhbGVzKX07YCxcbiAgICBgZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2NhbGUgPSBcIiR7ZGVmYXVsdExvY2FsZX1cIjtgLFxuICAgICcnLFxuICAgICdleHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdExvY2FsZSgpOiBzdHJpbmcgeyByZXR1cm4gZGVmYXVsdExvY2FsZTsgfScsXG4gICAgJ2V4cG9ydCBmdW5jdGlvbiBnZXRJMThuT3B0aW9ucygpIHsgcmV0dXJuIHsgbG9jYWxlcywgZGVmYXVsdExvY2FsZSB9OyB9JyxcbiAgXS5qb2luKCdcXG4nKSArICdcXG4nO1xufVxuXG4vLyDilIDilIDilIAgVml0ZSBwbHVnaW4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogb3BlbkVsZW1lbnQgaTE4biBWaXRlIHBsdWdpbi5cbiAqIENvbmZpZ3VyZXMgbG9jYWxlIG9wdGlvbnMgZm9yIHJvdXRlLWxldmVsIGkxOG4gaGVscGVycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9wZW5JMThuKFxuICBvcHRpb25zOiBPcGVuRWxlbWVudEkxOG5PcHRpb25zICYgeyBjdHg/OiBPcGVuRWxlbWVudEJ1aWxkQ29udGV4dExpa2UgfSxcbik6IFBsdWdpbiB7XG4gIC8vIGN0eCBtdXN0IGJlIGV4cGxpY2l0bHkgcHJvdmlkZWQgKHZpYSBvcGVuRWxlbWVudCgpIHVtYnJlbGxhIG9yIGRpcmVjdCBwYXJhbSlcbiAgY29uc3QgY3R4ID0gb3B0aW9ucy5jdHg7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnb3BlbjppMThuJyxcblxuICAgIGJ1aWxkU3RhcnQoKSB7XG4gICAgICAvLyBBRFIgMDAxODogVXNlIGxvYWRJMThuRGF0YSgpIHB1cmUgZnVuY3Rpb24gLSB6ZXJvIG1vZHVsZSBzdGF0ZVxuICAgICAgY29uc3QgaTE4bkRhdGEgPSBsb2FkSTE4bkRhdGEob3B0aW9ucyk7XG5cbiAgICAgIC8vIFdyaXRlIGkxOG4gb3B0aW9ucyB0byBjdHggKHNoYXJlZCBidWlsZCBjb250ZXh0KVxuICAgICAgLy8gVGhlIEBvcGVuZWxlbWVudC9nZW5lcmF0ZWQvaTE4biBwbHVnaW4gcmVhZHMgY3R4LnBsdWdpbnMuaTE4bk9wdGlvbnMgaW4gaXRzIGxvYWQoKSBob29rXG4gICAgICBpZiAoY3R4KSB7XG4gICAgICAgIGN0eC5wbHVnaW5zLmkxOG5PcHRpb25zID0ge1xuICAgICAgICAgIGxvY2FsZXM6IGkxOG5EYXRhLmxvY2FsZXMsXG4gICAgICAgICAgZGVmYXVsdExvY2FsZTogaTE4bkRhdGEuZGVmYXVsdExvY2FsZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gU09QLTAwMTogV3JpdGUgZ2VuZXJhdGVkIGkxOG4gZGF0YSBtb2R1bGUgdG8gZGlza1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGF0YURpciA9IGpvaW4ocHJvY2Vzcy5jd2QoKSwgJ2FwcCcsICdkYXRhJyk7XG4gICAgICAgIG1rZGlyU3luYyhkYXRhRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgaTE4bk1vZHVsZSA9IHdyaXRlSTE4bkRhdGFNb2R1bGUoaTE4bkRhdGEubG9jYWxlcywgaTE4bkRhdGEuZGVmYXVsdExvY2FsZSk7XG4gICAgICAgIHdyaXRlRmlsZVN5bmMoam9pbihkYXRhRGlyLCAnX2dlbmVyYXRlZC1pMThuLWRhdGEudHMnKSwgaTE4bk1vZHVsZSwgJ3V0Zi04Jyk7XG4gICAgICAgIGxvZy5pbmZvKGBJMThuOiB3cm90ZSBfZ2VuZXJhdGVkLWkxOG4tZGF0YS50cyAoJHtpMThuRGF0YS5sb2NhbGVzLmpvaW4oJywgJyl9KWApO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGxvZy53YXJuKFxuICAgICAgICAgIGBGYWlsZWQgdG8gd3JpdGUgX2dlbmVyYXRlZC1pMThuLWRhdGEudHM6ICR7Zm9ybWF0RXJyb3IoZXJyKX1gLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBsb2cuaW5mbyhgJHtvcHRpb25zLmxvY2FsZXMuam9pbignLCAnKX0gKGRlZmF1bHQ6ICR7b3B0aW9ucy5kZWZhdWx0TG9jYWxlfSlgKTtcbiAgICB9LFxuICB9O1xufVxuXG4vLyBVc2UgQG9wZW5lbGVtZW50L2FwcC9pMThuIGZvciBydW50aW1lIGhlbHBlcnM6IGkxOG5TdGF0aWNQYXRocywgbG9hZEkxOG5EYXRhLCBzd2l0Y2hMb2NhbGUsIG5vcm1hbGl6ZUxvY2FsZVBhdGhcblxuZXhwb3J0IGRlZmF1bHQgb3BlbkkxOG47XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Q0FhQyxHQUlELFNBQVMsWUFBWSxRQUFRLDJCQUEyQjtBQUN4RCxTQUFTLFdBQVcsUUFBUSwyQkFBMkI7QUFDdkQsaUVBQWlFO0FBQ2pFLE9BQU8sYUFBYSxlQUFlO0FBQ25DLFNBQVMsSUFBSSxRQUFRLFlBQVk7QUFDakMsU0FBUyxTQUFTLEVBQUUsYUFBYSxRQUFRLFVBQVU7QUFDbkQsU0FBUyxZQUFZLFFBQVEsb0JBQW9CO0FBR2pELE1BQU0sTUFBTSxhQUFhO0FBRXpCLHFFQUFxRTtBQUVyRTs7Ozs7Ozs7OztDQVVDLEdBQ0QsT0FBTyxTQUFTLG9CQUFvQixPQUFpQixFQUFFLGFBQXFCO0VBQzFFLE9BQU87SUFDTDtJQUNBLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQyw4QkFBOEIsRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUNsRDtJQUNBO0lBQ0E7R0FDRCxDQUFDLElBQUksQ0FBQyxRQUFRO0FBQ2pCO0FBRUEsb0VBQW9FO0FBRXBFOzs7Q0FHQyxHQUNELE9BQU8sU0FBUyxTQUNkLE9BQXVFO0VBRXZFLCtFQUErRTtFQUMvRSxNQUFNLE1BQU0sUUFBUSxHQUFHO0VBRXZCLE9BQU87SUFDTCxNQUFNO0lBRU47TUFDRSxpRUFBaUU7TUFDakUsTUFBTSxXQUFXLGFBQWE7TUFFOUIsbURBQW1EO01BQ25ELDBGQUEwRjtNQUMxRixJQUFJLEtBQUs7UUFDUCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEdBQUc7VUFDeEIsU0FBUyxTQUFTLE9BQU87VUFDekIsZUFBZSxTQUFTLGFBQWE7UUFDdkM7TUFDRjtNQUVBLG9EQUFvRDtNQUNwRCxJQUFJO1FBQ0YsTUFBTSxVQUFVLEtBQUssUUFBUSxHQUFHLElBQUksT0FBTztRQUMzQyxVQUFVLFNBQVM7VUFBRSxXQUFXO1FBQUs7UUFDckMsTUFBTSxhQUFhLG9CQUFvQixTQUFTLE9BQU8sRUFBRSxTQUFTLGFBQWE7UUFDL0UsY0FBYyxLQUFLLFNBQVMsNEJBQTRCLFlBQVk7UUFDcEUsSUFBSSxJQUFJLENBQUMsQ0FBQyxxQ0FBcUMsRUFBRSxTQUFTLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7TUFDakYsRUFBRSxPQUFPLEtBQUs7UUFDWixJQUFJLElBQUksQ0FDTixDQUFDLHlDQUF5QyxFQUFFLFlBQVksTUFBTTtNQUVsRTtNQUVBLElBQUksSUFBSSxDQUFDLEdBQUcsUUFBUSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sV0FBVyxFQUFFLFFBQVEsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM5RTtFQUNGO0FBQ0Y7QUFFQSxrSEFBa0g7QUFFbEgsZUFBZSxTQUFTIn0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy9hcHAvc3JjL2kxOG4tcGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG9wZW5lbGVtZW50L2FwcC9pMThuLXBsdWdpbiAtIE5vZGUtb25seSBWaXRlIHBsdWdpbiBmb3IgaTE4blxuICpcbiAqIGRlbm8tYXBpLWZyZWU6aWdub3JlIOKAlCBidWlsZC10aW1lIFZpdGUgcGx1Z2luLCBhbGxvd2VkIHRvIHVzZSBub2RlOiouXG4gKlxuICogVGhpcyBtb2R1bGUgdXNlcyBub2RlOnByb2Nlc3MsIG5vZGU6cGF0aCwgbm9kZTpmcyBhbmQgTVVTVCBOT1QgYmUgaW1wb3J0ZWRcbiAqIGZyb20gdGhlIG1haW4gQG9wZW5lbGVtZW50L2FwcCBlbnRyeSB0byBhdm9pZCBwdWxsaW5nIE5vZGUgYnVpbHQtaW5zIGludG9cbiAqIGNsaWVudCBpc2xhbmQgYnVuZGxlcy5cbiAqXG4gKiBTdGFuZGFsb25lIHVzYWdlIHJlcXVpcmVzIGV4cGxpY2l0IGN0eCBwYXJhbWV0ZXI6XG4gKiBgYGB0c1xuICogb3BlbkkxOG4oeyBsb2NhbGVzOiBbJ2VuJywgJ3poJ10sIGRlZmF1bHRMb2NhbGU6ICdlbicsIGN0eCB9KTsgIC8vIGN0eCBtdXN0IGJlIGV4cGxpY2l0bHkgcGFzc2VkXG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHR5cGUgeyBPcGVuRWxlbWVudEJ1aWxkQ29udGV4dExpa2UgfSBmcm9tICdAb3BlbmVsZW1lbnQvcHJvdG9jb2wvZnJhbWV3b3JrJztcbmltcG9ydCB7IGNyZWF0ZUxvZ2dlciB9IGZyb20gJ0BvcGVuZWxlbWVudC9jb3JlL2xvZ2dlcic7XG5pbXBvcnQgeyBmb3JtYXRFcnJvciB9IGZyb20gJ0BvcGVuZWxlbWVudC9jb3JlL2Vycm9ycyc7XG4vLyBwb255dGFpbDogYnVpbGQtdGltZSBWaXRlIHBsdWdpbiwgZGVuby1hcGktZnJlZTppZ25vcmUgYXBwbGllc1xuaW1wb3J0IHByb2Nlc3MgZnJvbSAnbm9kZTpwcm9jZXNzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgbWtkaXJTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyBsb2FkSTE4bkRhdGEgfSBmcm9tICcuL2kxOG4tcnVudGltZS5qcyc7XG5pbXBvcnQgdHlwZSB7IE9wZW5FbGVtZW50STE4bk9wdGlvbnMgfSBmcm9tICcuL2kxOG4tcnVudGltZS5qcyc7XG5cbmNvbnN0IGxvZyA9IGNyZWF0ZUxvZ2dlcignaTE4bicpO1xuXG4vLyDilIDilIDilIAgRGF0YSB1dGlsaXRpZXMgKG5vZGUtb25seSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogR2VuZXJhdGUgVHlwZVNjcmlwdCBtb2R1bGUgc291cmNlIGNvZGUgZm9yIGkxOG4gY29uZmlndXJhdGlvbi5cbiAqIFRoZSBvdXRwdXQgaXMgYSBzZWxmLWNvbnRhaW5lZCAudHMgZmlsZSB0aGF0IGV4cG9ydHMgbG9jYWxlcyxcbiAqIGRlZmF1bHRMb2NhbGUsIGFuZCBoZWxwZXIgZnVuY3Rpb25zLlxuICpcbiAqIFNPUC0wMDE6IFZpcnR1YWwgTW9kdWxlcyBSZW1vdmFsIOKAlCByZXBsYWNlcyBAb3BlbmVsZW1lbnQvZ2VuZXJhdGVkL2kxOG4uXG4gKlxuICogQHBhcmFtIGxvY2FsZXMgLSBBcnJheSBvZiBsb2NhbGUgY29kZSBzdHJpbmdzIChlLmcuIFsnZW4nLCAnemgnXSlcbiAqIEBwYXJhbSBkZWZhdWx0TG9jYWxlIC0gRGVmYXVsdCBsb2NhbGUgY29kZSAoZS5nLiAnZW4nKVxuICogQHJldHVybnMgVHlwZVNjcmlwdCBtb2R1bGUgc291cmNlIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVJMThuRGF0YU1vZHVsZShsb2NhbGVzOiBzdHJpbmdbXSwgZGVmYXVsdExvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIFtcbiAgICAnLy8gQXV0by1nZW5lcmF0ZWQgYnkgQG9wZW5lbGVtZW50L2FwcC9pMThuIOKAlCBkbyBub3QgZWRpdCcsXG4gICAgYGV4cG9ydCBjb25zdCBsb2NhbGVzID0gJHtKU09OLnN0cmluZ2lmeShsb2NhbGVzKX07YCxcbiAgICBgZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2NhbGUgPSBcIiR7ZGVmYXVsdExvY2FsZX1cIjtgLFxuICAgICcnLFxuICAgICdleHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdExvY2FsZSgpOiBzdHJpbmcgeyByZXR1cm4gZGVmYXVsdExvY2FsZTsgfScsXG4gICAgJ2V4cG9ydCBmdW5jdGlvbiBnZXRJMThuT3B0aW9ucygpIHsgcmV0dXJuIHsgbG9jYWxlcywgZGVmYXVsdExvY2FsZSB9OyB9JyxcbiAgXS5qb2luKCdcXG4nKSArICdcXG4nO1xufVxuXG4vLyDilIDilIDilIAgVml0ZSBwbHVnaW4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogb3BlbkVsZW1lbnQgaTE4biBWaXRlIHBsdWdpbi5cbiAqIENvbmZpZ3VyZXMgbG9jYWxlIG9wdGlvbnMgZm9yIHJvdXRlLWxldmVsIGkxOG4gaGVscGVycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9wZW5JMThuKFxuICBvcHRpb25zOiBPcGVuRWxlbWVudEkxOG5PcHRpb25zICYgeyBjdHg/OiBPcGVuRWxlbWVudEJ1aWxkQ29udGV4dExpa2UgfSxcbik6IFBsdWdpbiB7XG4gIC8vIGN0eCBtdXN0IGJlIGV4cGxpY2l0bHkgcHJvdmlkZWQgKHZpYSBvcGVuRWxlbWVudCgpIHVtYnJlbGxhIG9yIGRpcmVjdCBwYXJhbSlcbiAgY29uc3QgY3R4ID0gb3B0aW9ucy5jdHg7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnb3BlbjppMThuJyxcblxuICAgIGJ1aWxkU3RhcnQoKSB7XG4gICAgICAvLyBBRFIgMDAxODogVXNlIGxvYWRJMThuRGF0YSgpIHB1cmUgZnVuY3Rpb24gLSB6ZXJvIG1vZHVsZSBzdGF0ZVxuICAgICAgY29uc3QgaTE4bkRhdGEgPSBsb2FkSTE4bkRhdGEob3B0aW9ucyk7XG5cbiAgICAgIC8vIFdyaXRlIGkxOG4gb3B0aW9ucyB0byBjdHggKHNoYXJlZCBidWlsZCBjb250ZXh0KVxuICAgICAgLy8gVGhlIEBvcGVuZWxlbWVudC9nZW5lcmF0ZWQvaTE4biBwbHVnaW4gcmVhZHMgY3R4LnBsdWdpbnMuaTE4bk9wdGlvbnMgaW4gaXRzIGxvYWQoKSBob29rXG4gICAgICBpZiAoY3R4KSB7XG4gICAgICAgIGN0eC5yZWdpc3RlclBsdWdpbignaTE4bk9wdGlvbnMnLCB7XG4gICAgICAgICAgbG9jYWxlczogaTE4bkRhdGEubG9jYWxlcyxcbiAgICAgICAgICBkZWZhdWx0TG9jYWxlOiBpMThuRGF0YS5kZWZhdWx0TG9jYWxlLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gU09QLTAwMTogV3JpdGUgZ2VuZXJhdGVkIGkxOG4gZGF0YSBtb2R1bGUgdG8gZGlza1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGF0YURpciA9IGpvaW4ocHJvY2Vzcy5jd2QoKSwgJ2FwcCcsICdkYXRhJyk7XG4gICAgICAgIG1rZGlyU3luYyhkYXRhRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgaTE4bk1vZHVsZSA9IHdyaXRlSTE4bkRhdGFNb2R1bGUoaTE4bkRhdGEubG9jYWxlcywgaTE4bkRhdGEuZGVmYXVsdExvY2FsZSk7XG4gICAgICAgIHdyaXRlRmlsZVN5bmMoam9pbihkYXRhRGlyLCAnX2dlbmVyYXRlZC1pMThuLWRhdGEudHMnKSwgaTE4bk1vZHVsZSwgJ3V0Zi04Jyk7XG4gICAgICAgIGxvZy5pbmZvKGBJMThuOiB3cm90ZSBfZ2VuZXJhdGVkLWkxOG4tZGF0YS50cyAoJHtpMThuRGF0YS5sb2NhbGVzLmpvaW4oJywgJyl9KWApO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGxvZy53YXJuKFxuICAgICAgICAgIGBGYWlsZWQgdG8gd3JpdGUgX2dlbmVyYXRlZC1pMThuLWRhdGEudHM6ICR7Zm9ybWF0RXJyb3IoZXJyKX1gLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBsb2cuaW5mbyhgJHtvcHRpb25zLmxvY2FsZXMuam9pbignLCAnKX0gKGRlZmF1bHQ6ICR7b3B0aW9ucy5kZWZhdWx0TG9jYWxlfSlgKTtcbiAgICB9LFxuICB9O1xufVxuXG4vLyBVc2UgQG9wZW5lbGVtZW50L2FwcC9pMThuIGZvciBydW50aW1lIGhlbHBlcnM6IGkxOG5TdGF0aWNQYXRocywgbG9hZEkxOG5EYXRhLCBzd2l0Y2hMb2NhbGUsIG5vcm1hbGl6ZUxvY2FsZVBhdGhcblxuZXhwb3J0IGRlZmF1bHQgb3BlbkkxOG47XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Q0FhQyxHQUlELFNBQVMsWUFBWSxRQUFRLDJCQUEyQjtBQUN4RCxTQUFTLFdBQVcsUUFBUSwyQkFBMkI7QUFDdkQsaUVBQWlFO0FBQ2pFLE9BQU8sYUFBYSxlQUFlO0FBQ25DLFNBQVMsSUFBSSxRQUFRLFlBQVk7QUFDakMsU0FBUyxTQUFTLEVBQUUsYUFBYSxRQUFRLFVBQVU7QUFDbkQsU0FBUyxZQUFZLFFBQVEsb0JBQW9CO0FBR2pELE1BQU0sTUFBTSxhQUFhO0FBRXpCLHFFQUFxRTtBQUVyRTs7Ozs7Ozs7OztDQVVDLEdBQ0QsT0FBTyxTQUFTLG9CQUFvQixPQUFpQixFQUFFLGFBQXFCO0VBQzFFLE9BQU87SUFDTDtJQUNBLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQyw4QkFBOEIsRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUNsRDtJQUNBO0lBQ0E7R0FDRCxDQUFDLElBQUksQ0FBQyxRQUFRO0FBQ2pCO0FBRUEsb0VBQW9FO0FBRXBFOzs7Q0FHQyxHQUNELE9BQU8sU0FBUyxTQUNkLE9BQXVFO0VBRXZFLCtFQUErRTtFQUMvRSxNQUFNLE1BQU0sUUFBUSxHQUFHO0VBRXZCLE9BQU87SUFDTCxNQUFNO0lBRU47TUFDRSxpRUFBaUU7TUFDakUsTUFBTSxXQUFXLGFBQWE7TUFFOUIsbURBQW1EO01BQ25ELDBGQUEwRjtNQUMxRixJQUFJLEtBQUs7UUFDUCxJQUFJLGNBQWMsQ0FBQyxlQUFlO1VBQ2hDLFNBQVMsU0FBUyxPQUFPO1VBQ3pCLGVBQWUsU0FBUyxhQUFhO1FBQ3ZDO01BQ0Y7TUFFQSxvREFBb0Q7TUFDcEQsSUFBSTtRQUNGLE1BQU0sVUFBVSxLQUFLLFFBQVEsR0FBRyxJQUFJLE9BQU87UUFDM0MsVUFBVSxTQUFTO1VBQUUsV0FBVztRQUFLO1FBQ3JDLE1BQU0sYUFBYSxvQkFBb0IsU0FBUyxPQUFPLEVBQUUsU0FBUyxhQUFhO1FBQy9FLGNBQWMsS0FBSyxTQUFTLDRCQUE0QixZQUFZO1FBQ3BFLElBQUksSUFBSSxDQUFDLENBQUMscUNBQXFDLEVBQUUsU0FBUyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO01BQ2pGLEVBQUUsT0FBTyxLQUFLO1FBQ1osSUFBSSxJQUFJLENBQ04sQ0FBQyx5Q0FBeUMsRUFBRSxZQUFZLE1BQU07TUFFbEU7TUFFQSxJQUFJLElBQUksQ0FBQyxHQUFHLFFBQVEsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLFdBQVcsRUFBRSxRQUFRLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDOUU7RUFDRjtBQUNGO0FBRUEsa0hBQWtIO0FBRWxILGVBQWUsU0FBUyJ9