@sumaris-net/ngx-components 18.6.67 → 18.6.69
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/doc/changelog.md +6 -0
- package/esm2022/src/app/admin/services/person.service.mjs +2 -2
- package/esm2022/src/app/admin/users/users.mjs +138 -26
- package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +1 -1
- package/esm2022/src/app/core/services/config.service.mjs +2 -2
- package/esm2022/src/app/core/services/network.service.mjs +14 -3
- package/esm2022/src/app/core/services/platform.service.mjs +5 -5
- package/esm2022/src/app/core/table/table.model.mjs +6 -1
- package/esm2022/src/app/shared/audio/audio.mjs +12 -12
- package/esm2022/src/app/shared/dates.mjs +4 -2
- package/esm2022/src/app/social/message/message.service.mjs +2 -2
- package/fesm2022/sumaris-net.ngx-components.mjs +162 -37
- package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +6 -7
- package/src/app/admin/services/person.service.d.ts +1 -1
- package/src/app/admin/users/users.d.ts +19 -3
- package/src/app/core/services/config.service.d.ts +1 -1
- package/src/app/core/services/network.service.d.ts +9 -1
- package/src/app/core/services/platform.service.d.ts +1 -1
- package/src/app/core/table/table.model.d.ts +5 -0
- package/src/app/shared/audio/audio.d.ts +2 -2
- package/src/assets/i18n/en-US.json +9 -3
- package/src/assets/i18n/en.json +8 -2
- package/src/assets/i18n/fr.json +5 -2
- package/src/assets/manifest.json +1 -1
- package/src/theme/_ngx-components.table.scss +1 -1
package/doc/changelog.md
CHANGED
|
@@ -1231,3 +1231,9 @@ enh: Environment: add useHash property to configure Angular router to use hash U
|
|
|
1231
1231
|
|
|
1232
1232
|
# 18.6.66
|
|
1233
1233
|
- enh(home) Add a dark theme toggle button (is dark mode enable)
|
|
1234
|
+
|
|
1235
|
+
# 18.6.69
|
|
1236
|
+
- enh(users) Add compact rows mode
|
|
1237
|
+
- enh(users) Add columns updateDate and creationDate
|
|
1238
|
+
- enh(users) Add a download to CSV button
|
|
1239
|
+
- fix(deps) Replace deprecated @ionic-native by @awesome-cordova-plugins
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { gql } from '
|
|
2
|
+
import { gql } from 'apollo-angular';
|
|
3
3
|
import { Person } from '../../core/services/model/person.model';
|
|
4
4
|
import { StatusIds } from '../../core/services/model/model.enum';
|
|
5
5
|
import { JobUtils } from '../../shared/services/job.utils';
|
|
@@ -181,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
181
181
|
type: Injectable,
|
|
182
182
|
args: [{ providedIn: 'root' }]
|
|
183
183
|
}], ctorParameters: () => [{ type: i1.GraphqlService }, { type: i2.PlatformService }, { type: i3.NetworkService }, { type: i4.EntitiesStorage }] });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2FkbWluL3NlcnZpY2VzL3BlcnNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSzFDLE9BQU8sRUFBRSxNQUFNLEVBQW9CLE1BQU0sd0NBQXdDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUczRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBOEIsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFFekQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE1BQU0sRUFBRSxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJWO0NBQ0YsQ0FBQztBQUVGLHFCQUFxQjtBQUNyQixNQUFNLGFBQWEsR0FBRztJQUNwQixPQUFPLEVBQUUsR0FBRyxDQUFBOzs7Ozs7TUFNUixlQUFlLENBQUMsTUFBTTtHQUN6QjtJQUVELGdCQUFnQixFQUFFLEdBQUcsQ0FBQTs7Ozs7OztNQU9qQixlQUFlLENBQUMsTUFBTTtHQUN6QjtDQUNGLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBK0I7SUFDbEQsT0FBTyxFQUFFLEdBQUcsQ0FBQTs7Ozs7O01BTVIs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UUFFbEQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt3R0E5SlUsYUFBYTs0R0FBYixhQUFhLGNBREEsTUFBTTs7NEZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ3FsIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdyYXBocWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9ncmFwaHFsL2dyYXBocWwuc2VydmljZSc7XG5pbXBvcnQgeyBOZXR3b3JrU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7IEVudGl0aWVzU3RvcmFnZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvc3RvcmFnZS9lbnRpdGllcy1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVyc29uLCBVc2VyUHJvZmlsZUxhYmVsIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9wZXJzb24ubW9kZWwnO1xuaW1wb3J0IHsgU3RhdHVzSWRzIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9tb2RlbC5lbnVtJztcbmltcG9ydCB7IFNvcnREaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IEpvYlV0aWxzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2pvYi51dGlscyc7XG5pbXBvcnQgeyBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9ucywgRW50aXR5U2VydmljZUxvYWRPcHRpb25zLCBMb2FkUmVzdWx0LCBTdWdnZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3BsYXRmb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVyc29uRmlsdGVyIH0gZnJvbSAnLi9maWx0ZXIvcGVyc29uLmZpbHRlcic7XG5pbXBvcnQgeyBFbnRpdHlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IEJhc2VFbnRpdHlHcmFwaHFsTXV0YXRpb25zLCBCYXNlRW50aXR5U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvYmFzZS1lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBpc05vdEVtcHR5QXJyYXkgfSBmcm9tICcuLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcblxuZXhwb3J0IGNvbnN0IFBlcnNvbkZyYWdtZW50cyA9IHtcbiAgcGVyc29uOiBncWxgXG4gICAgZnJhZ21lbnQgUGVyc29uRnJhZ21lbnQgb24gUGVyc29uVk8ge1xuICAgICAgaWRcbiAgICAgIGZpcnN0TmFtZVxuICAgICAgbGFzdE5hbWVcbiAgICAgIGVtYWlsXG4gICAgICBwdWJrZXlcbiAgICAgIGF2YXRhclxuICAgICAgc3RhdHVzSWRcbiAgICAgIHVwZGF0ZURhdGVcbiAgICAgIGNyZWF0aW9uRGF0ZVxuICAgICAgcHJvZmlsZXNcbiAgICAgIHVzZXJuYW1lXG4gICAgICB1c2VybmFtZUV4dHJhbmV0XG4gICAgICBkZXBhcnRtZW50IHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgbmFtZVxuICAgICAgICBsb2dvXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gIGAsXG59O1xuXG4vLyBMb2FkIHBlcnNvbnMgcXVlcnlcbmNvbnN0IFBlcnNvblF1ZXJpZXMgPSB7XG4gIGxvYWRBbGw6IGdxbGBcbiAgICBxdWVyeSBQZXJzb25zKCRvZmZzZXQ6IEludCwgJHNpemU6IEludCwgJHNvcnRCeTogU3RyaW5nLCAkc29ydERpcmVjdGlvbjogU3RyaW5nLCAkZmlsdGVyOiBQZXJzb25GaWx0ZXJWT0lucHV0KSB7XG4gICAgICBkYXRhOiBwZXJzb25zKGZpbHRlcjogJGZpbHRlciwgb2Zmc2V0OiAkb2Zmc2V0LCBzaXplOiAkc2l6ZSwgc29ydEJ5OiAkc29ydEJ5LCBzb3J0RGlyZWN0aW9uOiAkc29ydERpcmVjdGlvbikge1xuICAgICAgICAuLi5QZXJzb25GcmFnbWVudFxuICAgICAgfVxuICAgIH1cbiAgICAke1BlcnNvbkZyYWdtZW50cy5wZXJzb259XG4gIGAsXG5cbiAgbG9hZEFsbFdpdGhUb3RhbDogZ3FsYFxuICAgIHF1ZXJ5IFBlcnNvbnNXaXRoVG90YWwoJG9mZnNldDogSW50LCAkc2l6ZTogSW50LCAkc29ydEJ5OiBTdHJpbmcsICRzb3J0RGlyZWN0aW9uOiBTdHJpbmcsICRmaWx0ZXI6IFBlcnNvbkZpbHRlclZPSW5wdXQpIHtcbiAgICAgIGRhdGE6IHBlcnNvbnMoZmlsdGVyOiAkZmlsdGVyLCBvZmZzZXQ6ICRvZmZzZXQsIHNpemU6ICRzaXplLCBzb3J0Qnk6ICRzb3J0QnksIHNvcnREaXJlY3Rpb246ICRzb3J0RGlyZWN0aW9uKSB7XG4gICAgICAgIC4uLlBlcnNvbkZyYWdtZW50XG4gICAgICB9XG4gICAgICB0b3RhbDogcGVyc29uc0NvdW50KGZpbHRlcjogJGZpbHRlcilcbiAgICB9XG4gICAgJHtQZXJzb25GcmFnbWVudHMucGVyc29ufVxuICBgLFxufTtcblxuY29uc3QgUGVyc29uTXV0YXRpb25zOiBCYXNlRW50aXR5R3JhcGhxbE11dGF0aW9ucyA9IHtcbiAgc2F2ZUFsbDogZ3FsYFxuICAgIG11dGF0aW9uIHNhdmVQZXJzb25zKCRkYXRhOiBbUGVyc29uVk9JbnB1dF0pIHtcbiAgICAgIGRhdGE6IHNhdmVQZXJzb25zKHBlcnNvbnM6ICRkYXRhKSB7XG4gICAgICAgIC4uLlBlcnNvbkZyYWdtZW50XG4gICAgICB9XG4gICAgfVxuICAgICR7UGVyc29uRnJhZ21lbnRzLnBlcnNvbn1cbiAgYCxcbiAgZGVsZXRlQWxsOiBncWxgXG4gICAgbXV0YXRpb24gZGVsZXRlUGVyc29ucygkaWRzOiBbSW50XSkge1xuICAgICAgZGVsZXRlUGVyc29ucyhpZHM6ICRpZHMpXG4gICAgfVxuICBgLFxufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQZXJzb25TZXJ2aWNlIGV4dGVuZHMgQmFzZUVudGl0eVNlcnZpY2U8UGVyc29uLCBQZXJzb25GaWx0ZXI+IGltcGxlbWVudHMgU3VnZ2VzdFNlcnZpY2U8UGVyc29uLCBQZXJzb25GaWx0ZXI+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGdyYXBocWw6IEdyYXBocWxTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBuZXR3b3JrOiBOZXR3b3JrU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZW50aXRpZXM6IEVudGl0aWVzU3RvcmFnZVxuICApIHtcbiAgICBzdXBlcihncmFwaHFsLCBwbGF0Zm9ybSwgUGVyc29uLCBQZXJzb25GaWx0ZXIsIHtcbiAgICAgIHF1ZXJpZXM6IFBlcnNvblF1ZXJpZXMsXG4gICAgICBtdXRhdGlvbnM6IFBlcnNvbk11dGF0aW9ucyxcbiAgICAgIGRlZmF1bHRTb3J0Qnk6ICdsYXN0TmFtZScsXG4gICAgICBkZWZhdWx0U29ydERpcmVjdGlvbjogJ2FzYycsXG4gICAgfSk7XG5cbiAgICAvLyBmb3IgREVWIG9ubHkgLS0tLS1cbiAgICB0aGlzLl9kZWJ1ZyA9ICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uO1xuICB9XG5cbiAgYXN5bmMgbG9hZEFsbChcbiAgICBvZmZzZXQ6IG51bWJlcixcbiAgICBzaXplOiBudW1iZXIsXG4gICAgc29ydEJ5Pzoga2V5b2YgUGVyc29uIHwgc3RyaW5nLFxuICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uLFxuICAgIGZpbHRlcj86IFBhcnRpYWw8UGVyc29uRmlsdGVyPixcbiAgICBvcHRzPzogRW50aXRpZXNTZXJ2aWNlTG9hZE9wdGlvbnMgJiB7XG4gICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgfVxuICApOiBQcm9taXNlPExvYWRSZXN1bHQ8UGVyc29uPj4ge1xuICAgIGNvbnN0IG9mZmxpbmUgPSB0aGlzLm5ldHdvcmsub2ZmbGluZSAmJiAoIW9wdHMgfHwgb3B0cy5mZXRjaFBvbGljeSAhPT0gJ25ldHdvcmstb25seScpO1xuICAgIGlmIChvZmZsaW5lKSB7XG4gICAgICByZXR1cm4gdGhpcy5sb2FkQWxsTG9jYWxseShvZmZzZXQsIHNpemUsIHNvcnRCeSwgc29ydERpcmVjdGlvbiwgZmlsdGVyLCBvcHRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXIubG9hZEFsbChvZmZzZXQsIHNpemUsIHNvcnRCeSwgc29ydERpcmVjdGlvbiwgZmlsdGVyLCBvcHRzKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGxMb2NhbGx5KFxuICAgIG9mZnNldDogbnVtYmVyLFxuICAgIHNpemU6IG51bWJlcixcbiAgICBzb3J0Qnk/OiBzdHJpbmcsXG4gICAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24sXG4gICAgZmlsdGVyPzogUGFydGlhbDxQZXJzb25GaWx0ZXI+LFxuICAgIG9wdHM/OiBFbnRpdGllc1NlcnZpY2VMb2FkT3B0aW9ucyAmIHtcbiAgICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICB9XG4gICk6IFByb21pc2U8TG9hZFJlc3VsdDxQZXJzb24+PiB7XG4gICAgZmlsdGVyID0gdGhpcy5hc0ZpbHRlcihmaWx0ZXIpO1xuXG4gICAgY29uc3QgdmFyaWFibGVzID0ge1xuICAgICAgb2Zmc2V0OiBvZmZzZXQgfHwgMCxcbiAgICAgIHNpemU6IHNpemUgfHwgMTAwLFxuICAgICAgc29ydEJ5OiBzb3J0QnkgfHwgdGhpcy5kZWZhdWx0U29ydEJ5LFxuICAgICAgc29ydERpcmVjdGlvbjogc29ydERpcmVjdGlvbiB8fCB0aGlzLmRlZmF1bHRTb3J0RGlyZWN0aW9uLFxuICAgICAgZmlsdGVyOiBmaWx0ZXIgJiYgZmlsdGVyLmFzRmlsdGVyRm4oKSxcbiAgICB9O1xuXG4gICAgY29uc3QgeyBkYXRhLCB0b3RhbCB9ID0gYXdhaXQgdGhpcy5lbnRpdGllcy5sb2FkQWxsPFBlcnNvbj4oJ1BlcnNvblZPJywgdmFyaWFibGVzKTtcblxuICAgIGNvbnN0IGVudGl0aWVzID0gdGhpcy5mcm9tT2JqZWN0cyhkYXRhLCBvcHRzKTtcblxuICAgIGNvbnN0IHJlczogTG9hZFJlc3VsdDxQZXJzb24+ID0geyBkYXRhOiBlbnRpdGllcywgdG90YWwgfTtcblxuICAgIC8vIEFkZCBmZXRjaCBtb3JlIGZ1bmN0aW9uXG4gICAgY29uc3QgbmV4dE9mZnNldCA9IChvZmZzZXQgfHwgMCkgKyBlbnRpdGllcy5sZW5ndGg7XG4gICAgaWYgKG5leHRPZmZzZXQgPCB0b3RhbCkge1xuICAgICAgcmVzLmZldGNoTW9yZSA9ICgpID0+IHRoaXMubG9hZEFsbExvY2FsbHkobmV4dE9mZnNldCwgc2l6ZSwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLCBmaWx0ZXIsIG9wdHMpO1xuICAgIH1cblxuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBhc3luYyBzdWdnZXN0KFxuICAgIHZhbHVlOiBhbnksXG4gICAgZmlsdGVyPzogUGFydGlhbDxQZXJzb25GaWx0ZXI+LFxuICAgIHNvcnRCeT86IGtleW9mIFBlcnNvbiB8IHN0cmluZyxcbiAgICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICBvcHRzPzogRW50aXRpZXNTZXJ2aWNlTG9hZE9wdGlvbnNcbiAgKTogUHJvbWlzZTxMb2FkUmVzdWx0PFBlcnNvbj4+IHtcbiAgICBpZiAoRW50aXR5VXRpbHMuaXNOb3RFbXB0eSh2YWx1ZSwgJ2lkJykpIHJldHVybiB7IGRhdGE6IFt2YWx1ZV0gfTtcbiAgICB2YWx1ZSA9ICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlICE9PSAnKicgJiYgdmFsdWUpIHx8IHVuZGVmaW5lZDtcbiAgICBzb3J0QnkgPSBzb3J0QnkgfHwgZmlsdGVyLnNlYXJjaEF0dHJpYnV0ZSB8fCAoZmlsdGVyLnNlYXJjaEF0dHJpYnV0ZXMgJiYgZmlsdGVyLnNlYXJjaEF0dHJpYnV0ZXNbMF0pO1xuICAgIHJldHVybiB0aGlzLmxvYWRBbGwoXG4gICAgICAwLFxuICAgICAgIXZhbHVlID8gMzAgOiAxMCxcbiAgICAgIHNvcnRCeSxcbiAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICB7XG4gICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgc2VhcmNoVGV4dDogdmFsdWUgYXMgc3RyaW5nLFxuICAgICAgICBzdGF0dXNJZHM6IChmaWx0ZXIgJiYgZmlsdGVyLnN0YXR1c0lkcykgfHwgW1N0YXR1c0lkcy5FTkFCTEUsIFN0YXR1c0lkcy5URU1QT1JBUlldLFxuICAgICAgICB1c2VyUHJvZmlsZXM6IGZpbHRlciAmJiBmaWx0ZXIudXNlclByb2ZpbGVzLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgd2l0aFRvdGFsOiB0cnVlIC8qIG5lZWQgYnkgYXV0b2NvbXBsZXRlICovLFxuICAgICAgICAuLi5vcHRzLFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlSW1wb3J0KFxuICAgIGZpbHRlcjogUGFydGlhbDxQZXJzb25GaWx0ZXI+LFxuICAgIG9wdHM6IHtcbiAgICAgIHByb2dyZXNzaW9uPzogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG4gICAgICBtYXhQcm9ncmVzc2lvbj86IG51bWJlcjtcbiAgICB9XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1heFByb2dyZXNzaW9uID0gKG9wdHMgJiYgb3B0cy5tYXhQcm9ncmVzc2lvbikgfHwgMTAwO1xuICAgIGZpbHRlciA9IHtcbiAgICAgIC4uLmZpbHRlcixcbiAgICAgIHN0YXR1c0lkczogW1N0YXR1c0lkcy5FTkFCTEUsIFN0YXR1c0lkcy5URU1QT1JBUlldLFxuICAgICAgdXNlclByb2ZpbGVzOiA8VXNlclByb2ZpbGVMYWJlbFtdPlsnU1VQRVJWSVNPUicsICdVU0VSJywgJ0dVRVNUJ10sXG4gICAgfTtcblxuICAgIGNvbnNvbGUuaW5mbygnW3BlcnNvbi1zZXJ2aWNlXSBJbXBvcnRpbmcgcGVyc29ucy4uLicpO1xuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgSm9iVXRpbHMuZmV0Y2hBbGxQYWdlcyhcbiAgICAgIChvZmZzZXQsIHNpemUpID0+XG4gICAgICAgIHRoaXMubG9hZEFsbChvZmZzZXQsIHNpemUsICdpZCcsIG51bGwsIGZpbHRlciwge1xuICAgICAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICAgICAgd2l0aFRvdGFsOiBvZmZzZXQgPT09IDAsIC8vIENvbXB1dGUgdG90YWwgb25seSBvbmNlXG4gICAgICAgICAgdG9FbnRpdHk6IGZhbHNlLFxuICAgICAgICB9KSxcbiAgICAgIHsgcHJvZ3Jlc3Npb246IG9wdHM/LnByb2dyZXNzaW9uLCBtYXhQcm9ncmVzc2lvbjogbWF4UHJvZ3Jlc3Npb24gKiAwLjkgfVxuICAgICk7XG5cbiAgICAvLyBTYXZlIHJlc3VsdCBsb2NhbGx5XG4gICAgYXdhaXQgdGhpcy5lbnRpdGllcy5zYXZlQWxsKHJlcy5kYXRhLCB7IGVudGl0eU5hbWU6ICdQZXJzb25WTycsIHJlc2V0OiB0cnVlIH0pO1xuICB9XG5cbiAgYXN5bmMgbG9hZEJ5SWQoaWQ6IG51bWJlciwgb3B0cz86IEVudGl0eVNlcnZpY2VMb2FkT3B0aW9ucyk6IFByb21pc2U8UGVyc29uPiB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmxvYWRBbGwoMCwgMSwgbnVsbCwgbnVsbCwgeyBpbmNsdWRlZElkczogW2lkXSB9LCB7IHdpdGhUb3RhbDogZmFsc2UsIC4uLm9wdHMgfSk7XG4gICAgY29uc3Qgc291cmNlID0gaXNOb3RFbXB0eUFycmF5KGRhdGEpID8gZGF0YVswXSA6IHsgaWQgfTtcbiAgICByZXR1cm4gdGhpcy5mcm9tT2JqZWN0KHNvdXJjZSwgb3B0cyk7XG4gIH1cblxuICBhc3luYyBsb2FkQnlQdWJrZXkocHVia2V5OiBzdHJpbmcsIG9wdHM/OiBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnMpOiBQcm9taXNlPFBlcnNvbj4ge1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5sb2FkQWxsKDAsIDEsIG51bGwsIG51bGwsIHsgcHVia2V5IH0sIHsgd2l0aFRvdGFsOiBmYWxzZSwgLi4ub3B0cyB9KTtcbiAgICBjb25zdCBzb3VyY2UgPSBpc05vdEVtcHR5QXJyYXkoZGF0YSkgPyBkYXRhWzBdIDogeyBwdWJrZXkgfTtcbiAgICByZXR1cm4gdGhpcy5mcm9tT2JqZWN0KHNvdXJjZSwgb3B0cyk7XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgbWV0aG9kcyAtLSAqL1xuXG4gIHByb3RlY3RlZCBhc09iamVjdChzb3VyY2U6IFBlcnNvbiB8IGFueSk6IGFueSB7XG4gICAgaWYgKCFzb3VyY2UpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoIShzb3VyY2UgaW5zdGFuY2VvZiBQZXJzb24pKSB7XG4gICAgICBzb3VyY2UgPSBQZXJzb24uZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXQgPSBzb3VyY2UuYXNPYmplY3QoKTtcblxuICAgIC8vIE5vdCBrbm93biBpbiBzZXJ2ZXIgR3JhcGhRTCBzY2hlbWFcbiAgICBkZWxldGUgdGFyZ2V0Lm1haW5Qcm9maWxlO1xuXG4gICAgdGFyZ2V0LmRlcGFydG1lbnQgPSBzb3VyY2UuZGVwYXJ0bWVudD8uYXNPYmplY3QoKTtcblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cbn1cbiJdfQ==
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2FkbWluL3NlcnZpY2VzL3BlcnNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3JDLE9BQU8sRUFBRSxNQUFNLEVBQW9CLE1BQU0sd0NBQXdDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUczRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBOEIsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFFekQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE1BQU0sRUFBRSxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJWO0NBQ0YsQ0FBQztBQUVGLHFCQUFxQjtBQUNyQixNQUFNLGFBQWEsR0FBRztJQUNwQixPQUFPLEVBQUUsR0FBRyxDQUFBOzs7Ozs7TUFNUixlQUFlLENBQUMsTUFBTTtHQUN6QjtJQUVELGdCQUFnQixFQUFFLEdBQUcsQ0FBQTs7Ozs7OztNQU9qQixlQUFlLENBQUMsTUFBTTtHQUN6QjtDQUNGLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBK0I7SUFDbEQsT0FBTyxFQUFFLEdBQUcsQ0FBQTs7Ozs7O01BTVIs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UUFFbEQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt3R0E5SlUsYUFBYTs0R0FBYixhQUFhLGNBREEsTUFBTTs7NEZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHcmFwaHFsU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZ3JhcGhxbC9ncmFwaHFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmV0d29ya1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL25ldHdvcmsuc2VydmljZSc7XG5pbXBvcnQgeyBFbnRpdGllc1N0b3JhZ2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3N0b3JhZ2UvZW50aXRpZXMtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNvbiwgVXNlclByb2ZpbGVMYWJlbCB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmltcG9ydCB7IFN0YXR1c0lkcyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvbW9kZWwuZW51bSc7XG5pbXBvcnQgeyBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBKb2JVdGlscyB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9qb2IudXRpbHMnO1xuaW1wb3J0IHsgRW50aXRpZXNTZXJ2aWNlTG9hZE9wdGlvbnMsIEVudGl0eVNlcnZpY2VMb2FkT3B0aW9ucywgTG9hZFJlc3VsdCwgU3VnZ2VzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNvbkZpbHRlciB9IGZyb20gJy4vZmlsdGVyL3BlcnNvbi5maWx0ZXInO1xuaW1wb3J0IHsgRW50aXR5VXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBCYXNlRW50aXR5R3JhcGhxbE11dGF0aW9ucywgQmFzZUVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2Jhc2UtZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgaXNOb3RFbXB0eUFycmF5IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBQZXJzb25GcmFnbWVudHMgPSB7XG4gIHBlcnNvbjogZ3FsYFxuICAgIGZyYWdtZW50IFBlcnNvbkZyYWdtZW50IG9uIFBlcnNvblZPIHtcbiAgICAgIGlkXG4gICAgICBmaXJzdE5hbWVcbiAgICAgIGxhc3ROYW1lXG4gICAgICBlbWFpbFxuICAgICAgcHVia2V5XG4gICAgICBhdmF0YXJcbiAgICAgIHN0YXR1c0lkXG4gICAgICB1cGRhdGVEYXRlXG4gICAgICBjcmVhdGlvbkRhdGVcbiAgICAgIHByb2ZpbGVzXG4gICAgICB1c2VybmFtZVxuICAgICAgdXNlcm5hbWVFeHRyYW5ldFxuICAgICAgZGVwYXJ0bWVudCB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIG5hbWVcbiAgICAgICAgbG9nb1xuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICBgLFxufTtcblxuLy8gTG9hZCBwZXJzb25zIHF1ZXJ5XG5jb25zdCBQZXJzb25RdWVyaWVzID0ge1xuICBsb2FkQWxsOiBncWxgXG4gICAgcXVlcnkgUGVyc29ucygkb2Zmc2V0OiBJbnQsICRzaXplOiBJbnQsICRzb3J0Qnk6IFN0cmluZywgJHNvcnREaXJlY3Rpb246IFN0cmluZywgJGZpbHRlcjogUGVyc29uRmlsdGVyVk9JbnB1dCkge1xuICAgICAgZGF0YTogcGVyc29ucyhmaWx0ZXI6ICRmaWx0ZXIsIG9mZnNldDogJG9mZnNldCwgc2l6ZTogJHNpemUsIHNvcnRCeTogJHNvcnRCeSwgc29ydERpcmVjdGlvbjogJHNvcnREaXJlY3Rpb24pIHtcbiAgICAgICAgLi4uUGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICB9XG4gICAgJHtQZXJzb25GcmFnbWVudHMucGVyc29ufVxuICBgLFxuXG4gIGxvYWRBbGxXaXRoVG90YWw6IGdxbGBcbiAgICBxdWVyeSBQZXJzb25zV2l0aFRvdGFsKCRvZmZzZXQ6IEludCwgJHNpemU6IEludCwgJHNvcnRCeTogU3RyaW5nLCAkc29ydERpcmVjdGlvbjogU3RyaW5nLCAkZmlsdGVyOiBQZXJzb25GaWx0ZXJWT0lucHV0KSB7XG4gICAgICBkYXRhOiBwZXJzb25zKGZpbHRlcjogJGZpbHRlciwgb2Zmc2V0OiAkb2Zmc2V0LCBzaXplOiAkc2l6ZSwgc29ydEJ5OiAkc29ydEJ5LCBzb3J0RGlyZWN0aW9uOiAkc29ydERpcmVjdGlvbikge1xuICAgICAgICAuLi5QZXJzb25GcmFnbWVudFxuICAgICAgfVxuICAgICAgdG90YWw6IHBlcnNvbnNDb3VudChmaWx0ZXI6ICRmaWx0ZXIpXG4gICAgfVxuICAgICR7UGVyc29uRnJhZ21lbnRzLnBlcnNvbn1cbiAgYCxcbn07XG5cbmNvbnN0IFBlcnNvbk11dGF0aW9uczogQmFzZUVudGl0eUdyYXBocWxNdXRhdGlvbnMgPSB7XG4gIHNhdmVBbGw6IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlUGVyc29ucygkZGF0YTogW1BlcnNvblZPSW5wdXRdKSB7XG4gICAgICBkYXRhOiBzYXZlUGVyc29ucyhwZXJzb25zOiAkZGF0YSkge1xuICAgICAgICAuLi5QZXJzb25GcmFnbWVudFxuICAgICAgfVxuICAgIH1cbiAgICAke1BlcnNvbkZyYWdtZW50cy5wZXJzb259XG4gIGAsXG4gIGRlbGV0ZUFsbDogZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZVBlcnNvbnMoJGlkczogW0ludF0pIHtcbiAgICAgIGRlbGV0ZVBlcnNvbnMoaWRzOiAkaWRzKVxuICAgIH1cbiAgYCxcbn07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUGVyc29uU2VydmljZSBleHRlbmRzIEJhc2VFbnRpdHlTZXJ2aWNlPFBlcnNvbiwgUGVyc29uRmlsdGVyPiBpbXBsZW1lbnRzIFN1Z2dlc3RTZXJ2aWNlPFBlcnNvbiwgUGVyc29uRmlsdGVyPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBncmFwaHFsOiBHcmFwaHFsU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcGxhdGZvcm06IFBsYXRmb3JtU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbmV0d29yazogTmV0d29ya1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGVudGl0aWVzOiBFbnRpdGllc1N0b3JhZ2VcbiAgKSB7XG4gICAgc3VwZXIoZ3JhcGhxbCwgcGxhdGZvcm0sIFBlcnNvbiwgUGVyc29uRmlsdGVyLCB7XG4gICAgICBxdWVyaWVzOiBQZXJzb25RdWVyaWVzLFxuICAgICAgbXV0YXRpb25zOiBQZXJzb25NdXRhdGlvbnMsXG4gICAgICBkZWZhdWx0U29ydEJ5OiAnbGFzdE5hbWUnLFxuICAgICAgZGVmYXVsdFNvcnREaXJlY3Rpb246ICdhc2MnLFxuICAgIH0pO1xuXG4gICAgLy8gZm9yIERFViBvbmx5IC0tLS0tXG4gICAgdGhpcy5fZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGwoXG4gICAgb2Zmc2V0OiBudW1iZXIsXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIHNvcnRCeT86IGtleW9mIFBlcnNvbiB8IHN0cmluZyxcbiAgICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICBmaWx0ZXI/OiBQYXJ0aWFsPFBlcnNvbkZpbHRlcj4sXG4gICAgb3B0cz86IEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zICYge1xuICAgICAgZGVidWc/OiBib29sZWFuO1xuICAgIH1cbiAgKTogUHJvbWlzZTxMb2FkUmVzdWx0PFBlcnNvbj4+IHtcbiAgICBjb25zdCBvZmZsaW5lID0gdGhpcy5uZXR3b3JrLm9mZmxpbmUgJiYgKCFvcHRzIHx8IG9wdHMuZmV0Y2hQb2xpY3kgIT09ICduZXR3b3JrLW9ubHknKTtcbiAgICBpZiAob2ZmbGluZSkge1xuICAgICAgcmV0dXJuIHRoaXMubG9hZEFsbExvY2FsbHkob2Zmc2V0LCBzaXplLCBzb3J0QnksIHNvcnREaXJlY3Rpb24sIGZpbHRlciwgb3B0cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLmxvYWRBbGwob2Zmc2V0LCBzaXplLCBzb3J0QnksIHNvcnREaXJlY3Rpb24sIGZpbHRlciwgb3B0cyk7XG4gIH1cblxuICBhc3luYyBsb2FkQWxsTG9jYWxseShcbiAgICBvZmZzZXQ6IG51bWJlcixcbiAgICBzaXplOiBudW1iZXIsXG4gICAgc29ydEJ5Pzogc3RyaW5nLFxuICAgIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uLFxuICAgIGZpbHRlcj86IFBhcnRpYWw8UGVyc29uRmlsdGVyPixcbiAgICBvcHRzPzogRW50aXRpZXNTZXJ2aWNlTG9hZE9wdGlvbnMgJiB7XG4gICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgfVxuICApOiBQcm9taXNlPExvYWRSZXN1bHQ8UGVyc29uPj4ge1xuICAgIGZpbHRlciA9IHRoaXMuYXNGaWx0ZXIoZmlsdGVyKTtcblxuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHtcbiAgICAgIG9mZnNldDogb2Zmc2V0IHx8IDAsXG4gICAgICBzaXplOiBzaXplIHx8IDEwMCxcbiAgICAgIHNvcnRCeTogc29ydEJ5IHx8IHRoaXMuZGVmYXVsdFNvcnRCeSxcbiAgICAgIHNvcnREaXJlY3Rpb246IHNvcnREaXJlY3Rpb24gfHwgdGhpcy5kZWZhdWx0U29ydERpcmVjdGlvbixcbiAgICAgIGZpbHRlcjogZmlsdGVyICYmIGZpbHRlci5hc0ZpbHRlckZuKCksXG4gICAgfTtcblxuICAgIGNvbnN0IHsgZGF0YSwgdG90YWwgfSA9IGF3YWl0IHRoaXMuZW50aXRpZXMubG9hZEFsbDxQZXJzb24+KCdQZXJzb25WTycsIHZhcmlhYmxlcyk7XG5cbiAgICBjb25zdCBlbnRpdGllcyA9IHRoaXMuZnJvbU9iamVjdHMoZGF0YSwgb3B0cyk7XG5cbiAgICBjb25zdCByZXM6IExvYWRSZXN1bHQ8UGVyc29uPiA9IHsgZGF0YTogZW50aXRpZXMsIHRvdGFsIH07XG5cbiAgICAvLyBBZGQgZmV0Y2ggbW9yZSBmdW5jdGlvblxuICAgIGNvbnN0IG5leHRPZmZzZXQgPSAob2Zmc2V0IHx8IDApICsgZW50aXRpZXMubGVuZ3RoO1xuICAgIGlmIChuZXh0T2Zmc2V0IDwgdG90YWwpIHtcbiAgICAgIHJlcy5mZXRjaE1vcmUgPSAoKSA9PiB0aGlzLmxvYWRBbGxMb2NhbGx5KG5leHRPZmZzZXQsIHNpemUsIHNvcnRCeSwgc29ydERpcmVjdGlvbiwgZmlsdGVyLCBvcHRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgYXN5bmMgc3VnZ2VzdChcbiAgICB2YWx1ZTogYW55LFxuICAgIGZpbHRlcj86IFBhcnRpYWw8UGVyc29uRmlsdGVyPixcbiAgICBzb3J0Qnk/OiBrZXlvZiBQZXJzb24gfCBzdHJpbmcsXG4gICAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24sXG4gICAgb3B0cz86IEVudGl0aWVzU2VydmljZUxvYWRPcHRpb25zXG4gICk6IFByb21pc2U8TG9hZFJlc3VsdDxQZXJzb24+PiB7XG4gICAgaWYgKEVudGl0eVV0aWxzLmlzTm90RW1wdHkodmFsdWUsICdpZCcpKSByZXR1cm4geyBkYXRhOiBbdmFsdWVdIH07XG4gICAgdmFsdWUgPSAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSAhPT0gJyonICYmIHZhbHVlKSB8fCB1bmRlZmluZWQ7XG4gICAgc29ydEJ5ID0gc29ydEJ5IHx8IGZpbHRlci5zZWFyY2hBdHRyaWJ1dGUgfHwgKGZpbHRlci5zZWFyY2hBdHRyaWJ1dGVzICYmIGZpbHRlci5zZWFyY2hBdHRyaWJ1dGVzWzBdKTtcbiAgICByZXR1cm4gdGhpcy5sb2FkQWxsKFxuICAgICAgMCxcbiAgICAgICF2YWx1ZSA/IDMwIDogMTAsXG4gICAgICBzb3J0QnksXG4gICAgICBzb3J0RGlyZWN0aW9uLFxuICAgICAge1xuICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgIHNlYXJjaFRleHQ6IHZhbHVlIGFzIHN0cmluZyxcbiAgICAgICAgc3RhdHVzSWRzOiAoZmlsdGVyICYmIGZpbHRlci5zdGF0dXNJZHMpIHx8IFtTdGF0dXNJZHMuRU5BQkxFLCBTdGF0dXNJZHMuVEVNUE9SQVJZXSxcbiAgICAgICAgdXNlclByb2ZpbGVzOiBmaWx0ZXIgJiYgZmlsdGVyLnVzZXJQcm9maWxlcyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHdpdGhUb3RhbDogdHJ1ZSAvKiBuZWVkIGJ5IGF1dG9jb21wbGV0ZSAqLyxcbiAgICAgICAgLi4ub3B0cyxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZUltcG9ydChcbiAgICBmaWx0ZXI6IFBhcnRpYWw8UGVyc29uRmlsdGVyPixcbiAgICBvcHRzOiB7XG4gICAgICBwcm9ncmVzc2lvbj86IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xuICAgICAgbWF4UHJvZ3Jlc3Npb24/OiBudW1iZXI7XG4gICAgfVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtYXhQcm9ncmVzc2lvbiA9IChvcHRzICYmIG9wdHMubWF4UHJvZ3Jlc3Npb24pIHx8IDEwMDtcbiAgICBmaWx0ZXIgPSB7XG4gICAgICAuLi5maWx0ZXIsXG4gICAgICBzdGF0dXNJZHM6IFtTdGF0dXNJZHMuRU5BQkxFLCBTdGF0dXNJZHMuVEVNUE9SQVJZXSxcbiAgICAgIHVzZXJQcm9maWxlczogPFVzZXJQcm9maWxlTGFiZWxbXT5bJ1NVUEVSVklTT1InLCAnVVNFUicsICdHVUVTVCddLFxuICAgIH07XG5cbiAgICBjb25zb2xlLmluZm8oJ1twZXJzb24tc2VydmljZV0gSW1wb3J0aW5nIHBlcnNvbnMuLi4nKTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IEpvYlV0aWxzLmZldGNoQWxsUGFnZXMoXG4gICAgICAob2Zmc2V0LCBzaXplKSA9PlxuICAgICAgICB0aGlzLmxvYWRBbGwob2Zmc2V0LCBzaXplLCAnaWQnLCBudWxsLCBmaWx0ZXIsIHtcbiAgICAgICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgICAgICAgZmV0Y2hQb2xpY3k6ICduZXR3b3JrLW9ubHknLFxuICAgICAgICAgIHdpdGhUb3RhbDogb2Zmc2V0ID09PSAwLCAvLyBDb21wdXRlIHRvdGFsIG9ubHkgb25jZVxuICAgICAgICAgIHRvRW50aXR5OiBmYWxzZSxcbiAgICAgICAgfSksXG4gICAgICB7IHByb2dyZXNzaW9uOiBvcHRzPy5wcm9ncmVzc2lvbiwgbWF4UHJvZ3Jlc3Npb246IG1heFByb2dyZXNzaW9uICogMC45IH1cbiAgICApO1xuXG4gICAgLy8gU2F2ZSByZXN1bHQgbG9jYWxseVxuICAgIGF3YWl0IHRoaXMuZW50aXRpZXMuc2F2ZUFsbChyZXMuZGF0YSwgeyBlbnRpdHlOYW1lOiAnUGVyc29uVk8nLCByZXNldDogdHJ1ZSB9KTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRCeUlkKGlkOiBudW1iZXIsIG9wdHM/OiBFbnRpdHlTZXJ2aWNlTG9hZE9wdGlvbnMpOiBQcm9taXNlPFBlcnNvbj4ge1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5sb2FkQWxsKDAsIDEsIG51bGwsIG51bGwsIHsgaW5jbHVkZWRJZHM6IFtpZF0gfSwgeyB3aXRoVG90YWw6IGZhbHNlLCAuLi5vcHRzIH0pO1xuICAgIGNvbnN0IHNvdXJjZSA9IGlzTm90RW1wdHlBcnJheShkYXRhKSA/IGRhdGFbMF0gOiB7IGlkIH07XG4gICAgcmV0dXJuIHRoaXMuZnJvbU9iamVjdChzb3VyY2UsIG9wdHMpO1xuICB9XG5cbiAgYXN5bmMgbG9hZEJ5UHVia2V5KHB1YmtleTogc3RyaW5nLCBvcHRzPzogRW50aXR5U2VydmljZUxvYWRPcHRpb25zKTogUHJvbWlzZTxQZXJzb24+IHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMubG9hZEFsbCgwLCAxLCBudWxsLCBudWxsLCB7IHB1YmtleSB9LCB7IHdpdGhUb3RhbDogZmFsc2UsIC4uLm9wdHMgfSk7XG4gICAgY29uc3Qgc291cmNlID0gaXNOb3RFbXB0eUFycmF5KGRhdGEpID8gZGF0YVswXSA6IHsgcHVia2V5IH07XG4gICAgcmV0dXJuIHRoaXMuZnJvbU9iamVjdChzb3VyY2UsIG9wdHMpO1xuICB9XG5cbiAgLyogLS0gcHJvdGVjdGVkIG1ldGhvZHMgLS0gKi9cblxuICBwcm90ZWN0ZWQgYXNPYmplY3Qoc291cmNlOiBQZXJzb24gfCBhbnkpOiBhbnkge1xuICAgIGlmICghc291cmNlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgaWYgKCEoc291cmNlIGluc3RhbmNlb2YgUGVyc29uKSkge1xuICAgICAgc291cmNlID0gUGVyc29uLmZyb21PYmplY3Qoc291cmNlKTtcbiAgICB9XG4gICAgY29uc3QgdGFyZ2V0ID0gc291cmNlLmFzT2JqZWN0KCk7XG5cbiAgICAvLyBOb3Qga25vd24gaW4gc2VydmVyIEdyYXBoUUwgc2NoZW1hXG4gICAgZGVsZXRlIHRhcmdldC5tYWluUHJvZmlsZTtcblxuICAgIHRhcmdldC5kZXBhcnRtZW50ID0gc291cmNlLmRlcGFydG1lbnQ/LmFzT2JqZWN0KCk7XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG59XG4iXX0=
|