@dcl/asset-packs 2.11.3 → 2.11.5
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/bin/index.js +6727 -1069
- package/catalog.json +1 -1
- package/dist/actions.js +17 -1
- package/dist/bin/index.js +6727 -1069
- package/dist/definitions.d.ts +4 -0
- package/dist/definitions.js +5 -1
- package/dist/enums.d.ts +3 -1
- package/dist/enums.js +3 -1
- package/dist/triggers.js +7 -3
- package/package.json +1 -1
package/dist/definitions.d.ts
CHANGED
|
@@ -212,6 +212,10 @@ export declare const ActionSchemas: {
|
|
|
212
212
|
methodName: ISchema<string>;
|
|
213
213
|
params: ISchema<import("@dcl/ecs").MapResult<{}> | undefined>;
|
|
214
214
|
}>>;
|
|
215
|
+
log_to_console: ISchema<import("@dcl/ecs").MapResult<{
|
|
216
|
+
message: ISchema<string>;
|
|
217
|
+
}>>;
|
|
218
|
+
delete: ISchema<import("@dcl/ecs").MapResult<{}>>;
|
|
215
219
|
};
|
|
216
220
|
export type ActionPayload<T extends ActionType = any> = T extends keyof typeof ActionSchemas ? (typeof ActionSchemas)[T] extends ISchema ? ReturnType<(typeof ActionSchemas)[T]['deserialize']> : Record<string, never> : Record<string, never>;
|
|
217
221
|
export declare function getComponent<T>(componentName: string, engine: IEngine): LastWriteWinElementSetComponentDefinition<T>;
|
package/dist/definitions.js
CHANGED
|
@@ -207,6 +207,10 @@ export const ActionSchemas = {
|
|
|
207
207
|
methodName: Schemas.String,
|
|
208
208
|
params: Schemas.Optional(Schemas.Map({})),
|
|
209
209
|
}),
|
|
210
|
+
[ActionType.LOG_TO_CONSOLE]: Schemas.Map({
|
|
211
|
+
message: Schemas.String,
|
|
212
|
+
}),
|
|
213
|
+
[ActionType.DELETE]: Schemas.Map({}),
|
|
210
214
|
};
|
|
211
215
|
export function getComponent(componentName, engine) {
|
|
212
216
|
try {
|
|
@@ -442,4 +446,4 @@ export function getConditionTypesByComponentName(componentName) {
|
|
|
442
446
|
}
|
|
443
447
|
}
|
|
444
448
|
}
|
|
445
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0NBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxhQUFhLEVBQ2IsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsV0FBVyxFQUNYLG9CQUFvQixFQUNwQix5QkFBeUIsRUFDekIsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLFlBQVksR0FDYixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsZ0NBQWdDLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztBQUV6QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsTUFBTSxDQUFDO0FBQ3JCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsU0FBUyxDQUFDO0FBRXhCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3ZDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN6QixJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLFdBQVcsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFD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LENBQUM7WUFDMUIsT0FBTztnQkFDTCxvQkFBb0IsQ0FBQyxhQUFhO2dCQUNsQyxvQkFBb0IsQ0FBQyxpQkFBaUI7Z0JBQ3RDLG9CQUFvQixDQUFDLHNCQUFzQjtnQkFDM0Msb0JBQW9CLENBQUMsMEJBQTBCO2FBQ2hELENBQUM7UUFDSixDQUFDO1FBQ0QsS0FBSyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzQixPQUFPO2dCQUNMLG9CQUFvQixDQUFDLG1CQUFtQjtnQkFDeEMsb0JBQW9CLENBQUMsNEJBQTRCO2dCQUNqRCxvQkFBb0IsQ0FBQyx5QkFBeUI7YUFDL0MsQ0FBQztRQUNKLENBQUM7UUFDRCxLQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE9BQU87Z0JBQ0wsb0JBQW9CLENBQUMsaUNBQWlDO2dCQUN0RCxvQkFBb0IsQ0FBQyxvQ0FBb0M7YUFDMUQsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1IsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEVudGl0eSxcbiAgSUVuZ2luZSxcbiAgSVNjaGVtYSxcbiAgTWF0ZXJpYWxDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCTWF0ZXJpYWwsXG4gIFBCVmlkZW9QbGF5ZXIsXG4gIFBCTWFpbkNhbWVyYSxcbiAgUEJWaXJ0dWFsQ2FtZXJhLFxuICBWaWRlb1RleHR1cmUsXG4gIEFuaW1hdG9yQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBUcmFuc2Zvcm1Db21wb25lbnRFeHRlbmRlZCxcbiAgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb24sXG4gIFBCQXZhdGFyQXR0YWNoLFxuICBQQlZpc2liaWxpdHlDb21wb25lbnQsXG4gIFBCR2x0ZkNvbnRhaW5lcixcbiAgUEJVaVRyYW5zZm9ybSxcbiAgUEJVaVRleHQsXG4gIFBCVGV4dFNoYXBlLFxuICBQQlVpQmFja2dyb3VuZCxcbiAgTWVzaFJlbmRlcmVyQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBQQkJpbGxib2FyZCxcbiAgTmFtZVR5cGUsXG4gIFBCVHdlZW4sXG4gIFBCVHdlZW5TZXF1ZW5jZSxcbiAgUEJQb2ludGVyRXZlbnRzLFxuICBQQkxpZ2h0U291cmNlLFxuICBOZXR3b3JrRW50aXR5LFxuICBTeW5jQ29tcG9uZW50cyxcbiAgQXVkaW9Tb3VyY2VDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCVWlJbnB1dCxcbiAgUEJVaUlucHV0UmVzdWx0LFxuICBQQlVpQ2FudmFzSW5mb3JtYXRpb24sXG4gIElucHV0TW9kaWZpZXJDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQsXG4gIFBCU2t5Ym94VGltZSxcbn0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHsgU2NoZW1hcyB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IGFkZEFjdGlvblR5cGUgfSBmcm9tICcuL2FjdGlvbi10eXBlcyc7XG5pbXBvcnQge1xuICBDb21wb25lbnROYW1lLFxuICBUd2VlblR5cGUsXG4gIEludGVycG9sYXRpb25UeXBlLFxuICBBY3Rpb25UeXBlLFxuICBUcmlnZ2VyVHlwZSxcbiAgVHJpZ2dlckNvbmRpdGlvblR5cGUsXG4gIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24sXG4gIEFsaWduTW9kZSxcbiAgRm9udCxcbiAgQ29sbGlkZXJzLFxuICBQcm94aW1pdHlMYXllcixcbiAgQWRtaW5QZXJtaXNzaW9ucyxcbiAgTWVkaWFTb3VyY2UsXG4gIFRleHR1cmVNb3ZlbWVudFR5cGUsXG4gIFRlbGVwb3J0TW9kZSxcbn0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBnZXRFeHBsb3JlckNvbXBvbmVudHMgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgY29uc3QgTElWRUtJVF9TVFJFQU1fU1JDID0gJ2xpdmVraXQtdmlkZW86Ly9jdXJyZW50LXN0cmVhbSc7XG5leHBvcnQgY29uc3QgVklERU9fVVJMX1RZUEUgPSAnaHR0cHM6Ly8nO1xuXG5leHBvcnQgKiBmcm9tICcuL2VudW1zJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLXR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jbG9uZSc7XG5leHBvcnQgKiBmcm9tICcuL2x3dyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IEFjdGlvblNjaGVtYXMgPSB7XG4gIFtBY3Rpb25UeXBlLlBMQVlfQU5JTUFUSU9OXTogU2NoZW1hcy5NYXAoe1xuICAgIGFuaW1hdGlvbjogU2NoZW1hcy5TdHJpbmcsXG4gICAgbG9vcDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIHNob3VsZFJlc2V0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX0FOSU1BVElPTl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1NUQVRFXTogU2NoZW1hcy5NYXAoeyBzdGF0ZTogU2NoZW1hcy5TdHJpbmcgfSksXG4gIFtBY3Rpb25UeXBlLlNUQVJUX1RXRUVOXTogU2NoZW1hcy5NYXAoe1xuICAgIHR5cGU6IFNjaGVtYXMuRW51bVN0cmluZzxUd2VlblR5cGU+KFR3ZWVuVHlwZSwgVHdlZW5UeXBlLk1PVkVfSVRFTSksXG4gICAgZW5kOiBTY2hlbWFzLlZlY3RvcjMsXG4gICAgaW50ZXJwb2xhdGlvblR5cGU6IFNjaGVtYXMuRW51bVN0cmluZyhJbnRlcnBvbGF0aW9uVHlwZSwgSW50ZXJwb2xhdGlvblR5cGUuTElORUFSKSxcbiAgICBkdXJhdGlvbjogU2NoZW1hcy5GbG9hdCxcbiAgICByZWxhdGl2ZTogU2NoZW1hcy5Cb29sZWFuLFxuICAgIC8vIEZvciBLRUVQX1JPVEFUSU5HX0lURU1cbiAgICBkaXJlY3Rpb246IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5WZWN0b3IzKSxcbiAgICBzcGVlZDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNFVF9DT1VOVEVSXTogU2NoZW1hcy5NYXAoeyBjb3VudGVyOiBTY2hlbWFzLkludCB9KSxcbiAgW0FjdGlvblR5cGUuSU5DUkVNRU5UX0NPVU5URVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgYW1vdW50OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkRFQ1JFQVNFX0NPVU5URVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgYW1vdW50OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfU09VTkRdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgdm9sdW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICAgIGdsb2JhbDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9TT1VORF06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1ZJU0lCSUxJVFldOiBTY2hlbWFzLk1hcCh7XG4gICAgdmlzaWJsZTogU2NoZW1hcy5Cb29sZWFuLFxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgY29sbGlkZXIgaW5zdGVhZCAqL1xuICAgIHBoeXNpY3NDb2xsaWRlcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIGNvbGxpZGVyOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRW51bU51bWJlcihDb2xsaWRlcnMsIENvbGxpZGVycy5DTF9QT0lOVEVSKSksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5BVFRBQ0hfVE9fUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIGFuY2hvclBvaW50SWQ6IFNjaGVtYXMuSW50LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuREVUQUNIX0ZST01fUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5QTEFZX1ZJREVPX1NUUkVBTV06IFNjaGVtYXMuTWFwKHtcbiAgICBzcmM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICB2b2x1bWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgZGNsQ2FzdDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9WSURFT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfQVVESU9fU1RSRUFNXTogU2NoZW1hcy5NYXAoe1xuICAgIHVybDogU2NoZW1hcy5TdHJpbmcsXG4gICAgdm9sdW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9BVURJT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlRFTEVQT1JUX1BMQVlFUl06IFNjaGVtYXMuTWFwKHtcbiAgICBtb2RlOiBTY2hlbWFzLkVudW1TdHJpbmc8VGVsZXBvcnRNb2RlPihUZWxlcG9ydE1vZGUsIFRlbGVwb3J0TW9kZS5UT19DT09SRElOQVRFUyksXG4gICAgeDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gICAgeTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gICAgcmVhbG06IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuTU9WRV9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgcG9zaXRpb246IFNjaGVtYXMuVmVjdG9yMyxcbiAgICBjYW1lcmFUYXJnZXQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5WZWN0b3IzKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlBMQVlfREVGQVVMVF9FTU9URV06IFNjaGVtYXMuTWFwKHtcbiAgICBlbW90ZTogU2NoZW1hcy5TdHJpbmcsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5QTEFZX0NVU1RPTV9FTU9URV06IFNjaGVtYXMuTWFwKHtcbiAgICBzcmM6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk9QRU5fTElOS106IFNjaGVtYXMuTWFwKHtcbiAgICB1cmw6IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU0hPV19URVhUXTogU2NoZW1hcy5NYXAoe1xuICAgIHRleHQ6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGhpZGVBZnRlclNlY29uZHM6IFNjaGVtYXMuRmxvYXQsXG4gICAgZm9udDogU2NoZW1hcy5FbnVtTnVtYmVyKEZvbnQsIEZvbnQuRl9TQU5TX1NFUklGKSxcbiAgICBmb250U2l6ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICB0ZXh0QWxpZ246IFNjaGVtYXMuRW51bU51bWJlcihBbGlnbk1vZGUsIEFsaWduTW9kZS5UQU1fTUlERExFX0NFTlRFUiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ISURFX1RFWFRdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNUQVJUX0RFTEFZXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGlvbnM6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICAgIHRpbWVvdXQ6IFNjaGVtYXMuRmxvYXQsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX0RFTEFZXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGlvbjogU2NoZW1hcy5TdHJpbmcsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9MT09QXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGlvbnM6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGludGVydmFsOiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9MT09QXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGlvbjogU2NoZW1hcy5TdHJpbmcsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5DTE9ORV9FTlRJVFldOiBTY2hlbWFzLk1hcCh7XG4gICAgcG9zaXRpb246IFNjaGVtYXMuVmVjdG9yMyxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlJFTU9WRV9FTlRJVFldOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNIT1dfSU1BR0VdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBhbGlnbjogU2NoZW1hcy5FbnVtTnVtYmVyKEFsaWduTW9kZSwgQWxpZ25Nb2RlLlRBTV9NSURETEVfQ0VOVEVSKSxcbiAgICBoZWlnaHQ6IFNjaGVtYXMuRmxvYXQsXG4gICAgd2lkdGg6IFNjaGVtYXMuRmxvYXQsXG4gICAgaGlkZUFmdGVyU2Vjb25kczogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICB0ZXh0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICBmb250U2l6ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkhJREVfSU1BR0VdOiBTY2hlbWFzLk1hcCh7XG4gICAgaW1hZ2VFbnRpdHk6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuREFNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIHJhZGl1czogU2NoZW1hcy5GbG9hdCxcbiAgICBsYXllcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkVudW1TdHJpbmcoUHJveGltaXR5TGF5ZXIsIFByb3hpbWl0eUxheWVyLkFMTCkpLFxuICAgIGhpdHM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuTU9WRV9QTEFZRVJfSEVSRV06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBWUVSX0ZBQ0VfSVRFTV06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBQ0VfT05fUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5ST1RBVEVfQVNfUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5QTEFDRV9PTl9DQU1FUkFdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlJPVEFURV9BU19DQU1FUkFdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNFVF9QT1NJVElPTl06IFNjaGVtYXMuTWFwKHtcbiAgICB4OiBTY2hlbWFzLkZsb2F0LFxuICAgIHk6IFNjaGVtYXMuRmxvYXQsXG4gICAgejogU2NoZW1hcy5GbG9hdCxcbiAgICByZWxhdGl2ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1JPVEFUSU9OXTogU2NoZW1hcy5NYXAoe1xuICAgIHg6IFNjaGVtYXMuRmxvYXQsXG4gICAgeTogU2NoZW1hcy5GbG9hdCxcbiAgICB6OiBTY2hlbWFzLkZsb2F0LFxuICAgIHJlbGF0aXZlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TRVRfU0NBTEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgeDogU2NoZW1hcy5GbG9hdCxcbiAgICB5OiBTY2hlbWFzLkZsb2F0LFxuICAgIHo6IFNjaGVtYXMuRmxvYXQsXG4gICAgcmVsYXRpdmU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkZPTExPV19QTEFZRVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3BlZWQ6IFNjaGVtYXMuRmxvYXQsXG4gICAgeDogU2NoZW1hcy5Cb29sZWFuLFxuICAgIHk6IFNjaGVtYXMuQm9vbGVhbixcbiAgICB6OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgbWluRGlzdGFuY2U6IFNjaGVtYXMuRmxvYXQsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX0ZPTExPV0lOR19QTEFZRVJdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlJBTkRPTV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkJBVENIXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGlvbnM6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuSEVBTF9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgbXVsdGlwbGllcjogU2NoZW1hcy5JbnQsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5DTEFJTV9BSVJEUk9QXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5MSUdIVFNfT05dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLkxJR0hUU19PRkZdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLkxJR0hUU19NT0RJRlldOiBTY2hlbWFzLk1hcCh7XG4gICAgYWN0aXZlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgY29sb3I6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Db2xvcjMpLFxuICAgIGludGVuc2l0eTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkNIQU5HRV9DQU1FUkFdOiBTY2hlbWFzLk1hcCh7XG4gICAgLyoqIElmIHVuZGVmaW5lZCwgdXNlcyB0aGUgZW50aXR5IHRoYXQgb3ducyB0aGUgQWN0aW9ucyBjb21wb25lbnQuIElmIDAgKFJvb3RFbnRpdHkpLCByZW1vdmVzIGNhbWVyYS4gKi9cbiAgICB2aXJ0dWFsQ2FtZXJhRW50aXR5OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRW50aXR5KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkNIQU5HRV9URVhUXTogU2NoZW1hcy5NYXAoe1xuICAgIHRleHQ6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGZvbnRTaXplOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICAgIGNvbG9yOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQ29sb3I0KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfVFdFRU5dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNMSURFX1RFWFRVUkVdOiBTY2hlbWFzLk1hcCh7XG4gICAgZGlyZWN0aW9uOiBTY2hlbWFzLk1hcCh7IHg6IFNjaGVtYXMuRmxvYXQsIHk6IFNjaGVtYXMuRmxvYXQgfSksXG4gICAgc3BlZWQ6IFNjaGVtYXMuRmxvYXQsXG4gICAgbW92ZW1lbnRUeXBlOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgU2NoZW1hcy5FbnVtTnVtYmVyKFRleHR1cmVNb3ZlbWVudFR5cGUsIFRleHR1cmVNb3ZlbWVudFR5cGUuVE1UX09GRlNFVCksXG4gICAgKSxcbiAgICBkdXJhdGlvbjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkZSRUVaRV9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlVORlJFRVpFX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuQ0hBTkdFX0NPTExJU0lPTlNdOiBTY2hlbWFzLk1hcCh7XG4gICAgdmlzaWJsZUNvbGxpc2lvbnM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICAgIGludmlzaWJsZUNvbGxpc2lvbnM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0hBTkdFX1NLWUJPWF06IFNjaGVtYXMuTWFwKHtcbiAgICB0aW1lOiBTY2hlbWFzLkludCxcbiAgICBkaXJlY3Rpb246IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuUkVTRVRfU0tZQk9YXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5DQUxMX1NDUklQVF9NRVRIT0RdOiBTY2hlbWFzLk1hcCh7XG4gICAgc2NyaXB0UGF0aDogU2NoZW1hcy5TdHJpbmcsXG4gICAgbWV0aG9kTmFtZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgcGFyYW1zOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuTWFwKHt9KSksXG4gIH0pLFxufTtcblxuZXhwb3J0IHR5cGUgQWN0aW9uUGF5bG9hZDxUIGV4dGVuZHMgQWN0aW9uVHlwZSA9IGFueT4gPSBUIGV4dGVuZHMga2V5b2YgdHlwZW9mIEFjdGlvblNjaGVtYXNcbiAgPyAodHlwZW9mIEFjdGlvblNjaGVtYXMpW1RdIGV4dGVuZHMgSVNjaGVtYVxuICAgID8gUmV0dXJuVHlwZTwodHlwZW9mIEFjdGlvblNjaGVtYXMpW1RdWydkZXNlcmlhbGl6ZSddPlxuICAgIDogUmVjb3JkPHN0cmluZywgbmV2ZXI+XG4gIDogUmVjb3JkPHN0cmluZywgbmV2ZXI+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29tcG9uZW50PFQ+KGNvbXBvbmVudE5hbWU6IHN0cmluZywgZW5naW5lOiBJRW5naW5lKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGVuZ2luZS5nZXRDb21wb25lbnQoY29tcG9uZW50TmFtZSkgYXMgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248VD47XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3IgdXNpbmcgZ2V0Q29tcG9uZW50IHdpdGggY29tcG9uZW50TmFtZT1cIiR7Y29tcG9uZW50TmFtZX1cImApO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21wb25lbnRzKGVuZ2luZTogSUVuZ2luZSkge1xuICByZXR1cm4ge1xuICAgIEFjdGlvbnM6IGdldENvbXBvbmVudDxBY3Rpb25zPihDb21wb25lbnROYW1lLkFDVElPTlMsIGVuZ2luZSksXG4gICAgU3RhdGVzOiBnZXRDb21wb25lbnQ8U3RhdGVzPihDb21wb25lbnROYW1lLlNUQVRFUywgZW5naW5lKSxcbiAgICBDb3VudGVyOiBnZXRDb21wb25lbnQ8Q291bnRlcj4oQ29tcG9uZW50TmFtZS5DT1VOVEVSLCBlbmdpbmUpLFxuICAgIFRyaWdnZXJzOiBnZXRDb21wb25lbnQ8VHJpZ2dlcnM+KENvbXBvbmVudE5hbWUuVFJJR0dFUlMsIGVuZ2luZSksXG4gICAgQ291bnRlckJhcjogZ2V0Q29tcG9uZW50PENvdW50ZXJCYXI+KENvbXBvbmVudE5hbWUuQ09VTlRFUl9CQVIsIGVuZ2luZSksXG4gICAgQWRtaW5Ub29sczogZ2V0Q29tcG9uZW50PEFkbWluVG9vbHM+KENvbXBvbmVudE5hbWUuQURNSU5fVE9PTFMsIGVuZ2luZSksXG4gICAgVmlkZW9TY3JlZW46IGdldENvbXBvbmVudDxWaWRlb1NjcmVlbj4oQ29tcG9uZW50TmFtZS5WSURFT19TQ1JFRU4sIGVuZ2luZSksXG4gICAgUmV3YXJkczogZ2V0Q29tcG9uZW50PFJld2FyZHM+KENvbXBvbmVudE5hbWUuUkVXQVJEUywgZW5naW5lKSxcbiAgICBUZXh0QW5ub3VuY2VtZW50czogZ2V0Q29tcG9uZW50PFRleHRBbm5vdW5jZW1lbnRzPihDb21wb25lbnROYW1lLlRFWFRfQU5OT1VOQ0VNRU5UUywgZW5naW5lKSxcbiAgICBWaWRlb0NvbnRyb2xTdGF0ZTogZ2V0Q29tcG9uZW50PFZpZGVvQ29udHJvbFN0YXRlPihDb21wb25lbnROYW1lLlZJREVPX0NPTlRST0xfU1RBVEUsIGVuZ2luZSksXG4gICAgU2NyaXB0OiBnZXRDb21wb25lbnQ8U2NyaXB0PihDb21wb25lbnROYW1lLlNDUklQVCwgZW5naW5lKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIGNvbnN0IEFjdGlvblR5cGVzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLkFDVElPTl9UWVBFUywge1xuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICB0eXBlOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAganNvblNjaGVtYTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICB9KSxcbiAgICApLFxuICB9KTtcblxuICBjb25zdCBBY3Rpb25zID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLkFDVElPTlMsIHtcbiAgICBpZDogU2NoZW1hcy5JbnQsXG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoXG4gICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgIG5hbWU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICB0eXBlOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAganNvblBheWxvYWQ6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICBhbGxvd2VkSW5CYXNpY1ZpZXc6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICAgICAgYmFzaWNWaWV3SWQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgICAgICBkZWZhdWx0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgICB9KSxcbiAgICApLFxuICB9KTtcblxuICBjb25zdCBDb3VudGVyID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLkNPVU5URVIsIHtcbiAgICBpZDogU2NoZW1hcy5OdW1iZXIsXG4gICAgdmFsdWU6IFNjaGVtYXMuSW50LFxuICB9KTtcblxuICBjb25zdCBUcmlnZ2VycyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5UUklHR0VSUywge1xuICAgIHZhbHVlOiBTY2hlbWFzLkFycmF5KFxuICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICB0eXBlOiBTY2hlbWFzLkVudW1TdHJpbmc8VHJpZ2dlclR5cGU+KFRyaWdnZXJUeXBlLCBUcmlnZ2VyVHlwZS5PTl9JTlBVVF9BQ1RJT04pLFxuICAgICAgICBjb25kaXRpb25zOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgICAgIFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgICAgICAgIGlkOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgICAgICAgICAgICAgdHlwZTogU2NoZW1hcy5FbnVtU3RyaW5nPFRyaWdnZXJDb25kaXRpb25UeXBlPihcbiAgICAgICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZSxcbiAgICAgICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB2YWx1ZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBvcGVyYXRpb246IFNjaGVtYXMuT3B0aW9uYWwoXG4gICAgICAgICAgU2NoZW1hcy5FbnVtU3RyaW5nPFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24+KFxuICAgICAgICAgICAgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbixcbiAgICAgICAgICAgIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24uQU5ELFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIGFjdGlvbnM6IFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICAgICAgaWQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICAgICAgICAgICAgbmFtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICAgIGJhc2ljVmlld0lkOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICAgIH0pLFxuICAgICksXG4gIH0pO1xuXG4gIGNvbnN0IFN0YXRlcyA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5TVEFURVMsIHtcbiAgICBpZDogU2NoZW1hcy5OdW1iZXIsXG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoU2NoZW1hcy5TdHJpbmcpLFxuICAgIGRlZmF1bHRWYWx1ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgY3VycmVudFZhbHVlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICBwcmV2aW91c1ZhbHVlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgfSk7XG5cbiAgY29uc3QgQ291bnRlckJhciA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5DT1VOVEVSX0JBUiwge1xuICAgIHByaW1hcnlDb2xvcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgc2Vjb25kYXJ5Q29sb3I6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIG1heFZhbHVlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICB9KTtcblxuICBjb25zdCBWaWRlb1NjcmVlbiA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5WSURFT19TQ1JFRU4sIHtcbiAgICB0aHVtYm5haWw6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGRlZmF1bHRNZWRpYVNvdXJjZTogU2NoZW1hcy5FbnVtTnVtYmVyPE1lZGlhU291cmNlPihNZWRpYVNvdXJjZSwgTWVkaWFTb3VyY2UuVmlkZW9VUkwpLFxuICAgIGRlZmF1bHRVUkw6IFNjaGVtYXMuU3RyaW5nLFxuICB9KTtcblxuICBjb25zdCBBZG1pblRvb2xzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLkFETUlOX1RPT0xTLCB7XG4gICAgYWRtaW5QZXJtaXNzaW9uczogU2NoZW1hcy5FbnVtU3RyaW5nPEFkbWluUGVybWlzc2lvbnM+KFxuICAgICAgQWRtaW5QZXJtaXNzaW9ucyxcbiAgICAgIEFkbWluUGVybWlzc2lvbnMuUFVCTElDLFxuICAgICksXG4gICAgYXV0aG9yaXplZEFkbWluVXNlcnM6IFNjaGVtYXMuTWFwKHtcbiAgICAgIG1lOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBzY2VuZU93bmVyczogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgYWxsb3dMaXN0OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBhZG1pbkFsbG93TGlzdDogU2NoZW1hcy5BcnJheShTY2hlbWFzLlN0cmluZyksXG4gICAgfSksXG4gICAgbW9kZXJhdGlvbkNvbnRyb2w6IFNjaGVtYXMuTWFwKHtcbiAgICAgIGlzRW5hYmxlZDogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAga2lja0Nvb3JkaW5hdGVzOiBTY2hlbWFzLk1hcCh7XG4gICAgICAgIHg6IFNjaGVtYXMuTnVtYmVyLFxuICAgICAgICB5OiBTY2hlbWFzLk51bWJlcixcbiAgICAgICAgejogU2NoZW1hcy5OdW1iZXIsXG4gICAgICB9KSxcbiAgICAgIGFsbG93Tm9uT3duZXJzTWFuYWdlQWRtaW5BbGxvd0xpc3Q6IFNjaGVtYXMuQm9vbGVhbixcbiAgICB9KSxcbiAgICB0ZXh0QW5ub3VuY2VtZW50Q29udHJvbDogU2NoZW1hcy5NYXAoe1xuICAgICAgaXNFbmFibGVkOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBwbGF5U291bmRPbkVhY2hBbm5vdW5jZW1lbnQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIHNob3dBdXRob3JPbkVhY2hBbm5vdW5jZW1lbnQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICB9KSxcbiAgICB2aWRlb0NvbnRyb2w6IFNjaGVtYXMuTWFwKHtcbiAgICAgIGlzRW5hYmxlZDogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgZGlzYWJsZVZpZGVvUGxheWVyc1NvdW5kOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBzaG93QXV0aG9yT25WaWRlb1BsYXllcnM6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIGxpbmtBbGxWaWRlb1BsYXllcnM6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIHZpZGVvUGxheWVyczogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgICAgU2NoZW1hcy5BcnJheShcbiAgICAgICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgICAgICBlbnRpdHk6IFNjaGVtYXMuSW50LFxuICAgICAgICAgICAgY3VzdG9tTmFtZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pLFxuICAgIHNtYXJ0SXRlbXNDb250cm9sOiBTY2hlbWFzLk1hcCh7XG4gICAgICBpc0VuYWJsZWQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIGxpbmtBbGxTbWFydEl0ZW1zOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBzbWFydEl0ZW1zOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgICBTY2hlbWFzLkFycmF5KFxuICAgICAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgICAgIGVudGl0eTogU2NoZW1hcy5JbnQsXG4gICAgICAgICAgICBjdXN0b21OYW1lOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgICAgIGRlZmF1bHRBY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICB9KSxcbiAgICByZXdhcmRzQ29udHJvbDogU2NoZW1hcy5NYXAoe1xuICAgICAgaXNFbmFibGVkOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICByZXdhcmRJdGVtczogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgICAgU2NoZW1hcy5BcnJheShcbiAgICAgICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgICAgICBlbnRpdHk6IFNjaGVtYXMuSW50LFxuICAgICAgICAgICAgY3VzdG9tTmFtZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pLFxuICB9KTtcblxuICBjb25zdCBSZXdhcmRzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLlJFV0FSRFMsIHtcbiAgICBjYW1wYWlnbklkOiBTY2hlbWFzLlN0cmluZyxcbiAgICBkaXNwZW5zZXJLZXk6IFNjaGVtYXMuU3RyaW5nLFxuICAgIHRlc3RNb2RlOiBTY2hlbWFzLkJvb2xlYW4sXG4gIH0pO1xuXG4gIGNvbnN0IFRleHRBbm5vdW5jZW1lbnRzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLlRFWFRfQU5OT1VOQ0VNRU5UUywge1xuICAgIHRleHQ6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGF1dGhvcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgaWQ6IFNjaGVtYXMuU3RyaW5nLFxuICB9KTtcblxuICBjb25zdCBWaWRlb0NvbnRyb2xTdGF0ZSA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5WSURFT19DT05UUk9MX1NUQVRFLCB7XG4gICAgZW5kc0F0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50NjQpLFxuICAgIC8qKiBAZGVwcmVjYXRlZCBzdHJlYW1LZXkgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gKi9cbiAgICBzdHJlYW1LZXk6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICB9KTtcblxuICBjb25zdCBTY3JpcHQgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuU0NSSVBULCB7XG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoXG4gICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgIHBhdGg6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICBwcmlvcml0eTogU2NoZW1hcy5OdW1iZXIsXG4gICAgICAgIGxheW91dDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgICB9KSxcbiAgICApLFxuICB9KTtcblxuICByZXR1cm4ge1xuICAgIEFjdGlvblR5cGVzLFxuICAgIEFjdGlvbnMsXG4gICAgQ291bnRlcixcbiAgICBUcmlnZ2VycyxcbiAgICBTdGF0ZXMsXG4gICAgQ291bnRlckJhcixcbiAgICBBZG1pblRvb2xzLFxuICAgIFJld2FyZHMsXG4gICAgVGV4dEFubm91bmNlbWVudHMsXG4gICAgVmlkZW9Db250cm9sU3RhdGUsXG4gICAgVmlkZW9TY3JlZW4sXG4gICAgU2NyaXB0LFxuICB9O1xufVxuXG5leHBvcnQgdHlwZSBFbmdpbmVDb21wb25lbnRzID0ge1xuICBBbmltYXRvcjogQW5pbWF0b3JDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQ7XG4gIFRyYW5zZm9ybTogVHJhbnNmb3JtQ29tcG9uZW50RXh0ZW5kZWQ7XG4gIEF1ZGlvU291cmNlOiBBdWRpb1NvdXJjZUNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgQXZhdGFyQXR0YWNoOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQkF2YXRhckF0dGFjaD47XG4gIFZpc2liaWxpdHlDb21wb25lbnQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVmlzaWJpbGl0eUNvbXBvbmVudD47XG4gIEdsdGZDb250YWluZXI6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCR2x0ZkNvbnRhaW5lcj47XG4gIE1hdGVyaWFsOiBNYXRlcmlhbENvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgTWVzaFJlbmRlcmVyOiBNZXNoUmVuZGVyZXJDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQ7XG4gIFZpZGVvUGxheWVyOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlZpZGVvUGxheWVyPjtcbiAgTGlnaHRTb3VyY2U6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCTGlnaHRTb3VyY2U+O1xuICBWaXJ0dWFsQ2FtZXJhOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlZpcnR1YWxDYW1lcmE+O1xuICBNYWluQ2FtZXJhOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQk1haW5DYW1lcmE+O1xuICBUZXh0U2hhcGU6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVGV4dFNoYXBlPjtcbiAgVWlUcmFuc2Zvcm06IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlUcmFuc2Zvcm0+O1xuICBVaVRleHQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlUZXh0PjtcbiAgVWlCYWNrZ3JvdW5kOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlVpQmFja2dyb3VuZD47XG4gIFVpSW5wdXQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlJbnB1dD47XG4gIFVpSW5wdXRSZXN1bHQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlJbnB1dFJlc3VsdD47XG4gIFVpQ2FudmFzSW5mb3JtYXRpb246IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlDYW52YXNJbmZvcm1hdGlvbj47XG4gIEJpbGxib2FyZDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJCaWxsYm9hcmQ+O1xuICBOYW1lOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxOYW1lVHlwZT47XG4gIFR3ZWVuOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlR3ZWVuPjtcbiAgVHdlZW5TZXF1ZW5jZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJUd2VlblNlcXVlbmNlPjtcbiAgUG9pbnRlckV2ZW50czogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJQb2ludGVyRXZlbnRzPjtcbiAgTmV0d29ya0VudGl0eTogdHlwZW9mIE5ldHdvcmtFbnRpdHk7XG4gIFN5bmNDb21wb25lbnRzOiB0eXBlb2YgU3luY0NvbXBvbmVudHM7XG4gIElucHV0TW9kaWZpZXI6IElucHV0TW9kaWZpZXJDb21wb25lbnREZWZpbml0aW9uRXh0ZW5kZWQ7XG4gIFNreWJveFRpbWU6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCU2t5Ym94VGltZT47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdENvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIC8vIEFkZCBhY3Rpb25zIGZyb20gdGhpcyBwYWNrYWdlXG4gIGNvbnN0IGFjdGlvblR5cGVzID0gT2JqZWN0LnZhbHVlcyhBY3Rpb25UeXBlKTtcbiAgZm9yIChjb25zdCB0eXBlIG9mIGFjdGlvblR5cGVzKSB7XG4gICAgY29uc3QgYWN0aW9uVHlwZSA9IHR5cGUgYXMgQWN0aW9uVHlwZTtcbiAgICBhZGRBY3Rpb25UeXBlKGVuZ2luZSwgYWN0aW9uVHlwZSwgQWN0aW9uU2NoZW1hc1thY3Rpb25UeXBlXSk7XG4gIH1cblxuICAvLyBBZGQgY291bnRlciB0byByb290IGVudGl0eVxuICBjb25zdCBDb3VudGVyID0gZW5naW5lLmdldENvbXBvbmVudChcbiAgICBDb21wb25lbnROYW1lLkNPVU5URVIsXG4gICkgYXMgTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248Q291bnRlcj47XG4gIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yQ3JlYXRlTXV0YWJsZShlbmdpbmUuUm9vdEVudGl0eSk7XG4gIGNvdW50ZXIudmFsdWUgPSBjb3VudGVyLnZhbHVlIHx8IDA7XG5cbiAgY29uc3QgeyBWaWRlb1BsYXllciwgTWF0ZXJpYWwgfSA9IGdldEV4cGxvcmVyQ29tcG9uZW50cyhlbmdpbmUpO1xuICBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRzKGVuZ2luZSwgeyBWaWRlb1BsYXllciwgTWF0ZXJpYWwgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFZpZGVvVGV4dHVyZSh7IG1hdGVyaWFsIH06IFBCTWF0ZXJpYWwpOiBWaWRlb1RleHR1cmUgfCB1bmRlZmluZWQge1xuICBpZiAobWF0ZXJpYWw/LiRjYXNlID09PSAndW5saXQnICYmIG1hdGVyaWFsLnVubGl0LnRleHR1cmU/LnRleD8uJGNhc2UgPT09ICd2aWRlb1RleHR1cmUnKSB7XG4gICAgcmV0dXJuIG1hdGVyaWFsLnVubGl0LnRleHR1cmUudGV4LnZpZGVvVGV4dHVyZTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRNYXRlcmlhbChcbiAgZW50aXR5OiBFbnRpdHksXG4gIHsgTWF0ZXJpYWwgfTogUGljazxFbmdpbmVDb21wb25lbnRzLCAnTWF0ZXJpYWwnPixcbiAgbWF0ZXJpYWw/OiBQQk1hdGVyaWFsIHwgbnVsbCxcbikge1xuICBpZiAoIW1hdGVyaWFsIHx8ICFtYXRlcmlhbC5tYXRlcmlhbCB8fCBtYXRlcmlhbC5tYXRlcmlhbC4kY2FzZSAhPT0gJ3VubGl0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgTWF0ZXJpYWwuc2V0QmFzaWNNYXRlcmlhbChlbnRpdHksIHtcbiAgICAuLi5tYXRlcmlhbC5tYXRlcmlhbC51bmxpdCxcbiAgICB0ZXh0dXJlOiBNYXRlcmlhbC5UZXh0dXJlLlZpZGVvKHtcbiAgICAgIHZpZGVvUGxheWVyRW50aXR5OiBlbnRpdHksXG4gICAgfSksXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRzKFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIGNvbXBvbmVudHM6IFBpY2s8RW5naW5lQ29tcG9uZW50cywgJ01hdGVyaWFsJyB8ICdWaWRlb1BsYXllcic+LFxuKSB7XG4gIGZ1bmN0aW9uIHJlcGxhY2VWaWRlb1RleHR1cmUoKSB7XG4gICAgY29uc3QgeyBNYXRlcmlhbCwgVmlkZW9QbGF5ZXIgfSA9IGNvbXBvbmVudHM7XG4gICAgZW5naW5lLnJlbW92ZVN5c3RlbShyZXBsYWNlVmlkZW9UZXh0dXJlKTtcbiAgICBmb3IgKGNvbnN0IFtlbnRpdHksIG1hdGVyaWFsXSBvZiBlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKE1hdGVyaWFsLCBWaWRlb1BsYXllcikpIHtcbiAgICAgIGNvbnN0IHZpZGVvVGV4dHVyZSA9IGdldFZpZGVvVGV4dHVyZShtYXRlcmlhbCk7XG4gICAgICBpZiAodmlkZW9UZXh0dXJlPy52aWRlb1BsYXllckVudGl0eSA9PT0gZW5naW5lLlJvb3RFbnRpdHkpIHtcbiAgICAgICAgaW5pdFZpZGVvUGxheWVyQ29tcG9uZW50TWF0ZXJpYWwoZW50aXR5LCBjb21wb25lbnRzLCBtYXRlcmlhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGVuZ2luZS5hZGRTeXN0ZW0ocmVwbGFjZVZpZGVvVGV4dHVyZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25kaXRpb25UeXBlc0J5Q29tcG9uZW50TmFtZShjb21wb25lbnROYW1lOiBDb21wb25lbnROYW1lKSB7XG4gIHN3aXRjaCAoY29tcG9uZW50TmFtZSkge1xuICAgIGNhc2UgQ29tcG9uZW50TmFtZS5TVEFURVM6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVMsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVNfTk9ULFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1BSRVZJT1VTX1NUQVRFX0lTLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1BSRVZJT1VTX1NUQVRFX0lTX05PVCxcbiAgICAgIF07XG4gICAgfVxuICAgIGNhc2UgQ29tcG9uZW50TmFtZS5DT1VOVEVSOiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfRVFVQUxTLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfSVNfR1JFQVRFUl9USEFOLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfSVNfTEVTU19USEFOLFxuICAgICAgXTtcbiAgICB9XG4gICAgY2FzZSBDb21wb25lbnROYW1lLkFDVElPTlM6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fRElTVEFOQ0VfVE9fUExBWUVSX0xFU1NfVEhBTixcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfR1JFQVRFUl9USEFOLFxuICAgICAgXTtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDb21wb25lbnRzID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQ29tcG9uZW50cz47XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQWN0aW9uVHlwZXMnXTtcbmV4cG9ydCB0eXBlIEFjdGlvblR5cGVzID0gUmV0dXJuVHlwZTxBY3Rpb25UeXBlc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25zQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQWN0aW9ucyddO1xuZXhwb3J0IHR5cGUgQWN0aW9ucyA9IFJldHVyblR5cGU8QWN0aW9uc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuZXhwb3J0IHR5cGUgQWN0aW9uID0gQWN0aW9uc1sndmFsdWUnXVswXTtcblxuZXhwb3J0IHR5cGUgQ291bnRlckNvbXBvbmVudCA9IENvbXBvbmVudHNbJ0NvdW50ZXInXTtcbmV4cG9ydCB0eXBlIENvdW50ZXIgPSBSZXR1cm5UeXBlPENvdW50ZXJDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgQ291bnRlckJhckNvbXBvbmVudCA9IENvbXBvbmVudHNbJ0NvdW50ZXJCYXInXTtcbmV4cG9ydCB0eXBlIENvdW50ZXJCYXIgPSBSZXR1cm5UeXBlPENvdW50ZXJCYXJDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgVHJpZ2dlcnNDb21wb25lbnQgPSBDb21wb25lbnRzWydUcmlnZ2VycyddO1xuZXhwb3J0IHR5cGUgVHJpZ2dlcnMgPSBSZXR1cm5UeXBlPFRyaWdnZXJzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5leHBvcnQgdHlwZSBUcmlnZ2VyID0gVHJpZ2dlcnNbJ3ZhbHVlJ11bMF07XG5leHBvcnQgdHlwZSBUcmlnZ2VyQWN0aW9uID0gVHJpZ2dlclsnYWN0aW9ucyddWzBdO1xuZXhwb3J0IHR5cGUgVHJpZ2dlckNvbmRpdGlvbiA9IEV4Y2x1ZGU8VHJpZ2dlclsnY29uZGl0aW9ucyddLCB1bmRlZmluZWQ+WzBdO1xuXG5leHBvcnQgdHlwZSBTdGF0ZXNDb21wb25lbnQgPSBDb21wb25lbnRzWydTdGF0ZXMnXTtcbmV4cG9ydCB0eXBlIFN0YXRlcyA9IFJldHVyblR5cGU8U3RhdGVzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIEFkbWluVG9vbHNDb21wb25lbnQgPSBDb21wb25lbnRzWydBZG1pblRvb2xzJ107XG5leHBvcnQgdHlwZSBBZG1pblRvb2xzID0gUmV0dXJuVHlwZTxBZG1pblRvb2xzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFZpZGVvU2NyZWVuQ29tcG9uZW50ID0gQ29tcG9uZW50c1snVmlkZW9TY3JlZW4nXTtcbmV4cG9ydCB0eXBlIFZpZGVvU2NyZWVuID0gUmV0dXJuVHlwZTxWaWRlb1NjcmVlbkNvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBSZXdhcmRzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snUmV3YXJkcyddO1xuZXhwb3J0IHR5cGUgUmV3YXJkcyA9IFJldHVyblR5cGU8UmV3YXJkc0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBUZXh0QW5ub3VuY2VtZW50c0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ1RleHRBbm5vdW5jZW1lbnRzJ107XG5leHBvcnQgdHlwZSBUZXh0QW5ub3VuY2VtZW50cyA9IFJldHVyblR5cGU8VGV4dEFubm91bmNlbWVudHNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgVmlkZW9Db250cm9sU3RhdGVDb21wb25lbnQgPSBDb21wb25lbnRzWydWaWRlb0NvbnRyb2xTdGF0ZSddO1xuZXhwb3J0IHR5cGUgVmlkZW9Db250cm9sU3RhdGUgPSBSZXR1cm5UeXBlPFZpZGVvQ29udHJvbFN0YXRlQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFNjcmlwdENvbXBvbmVudCA9IENvbXBvbmVudHNbJ1NjcmlwdCddO1xuZXhwb3J0IHR5cGUgU2NyaXB0ID0gUmV0dXJuVHlwZTxTY3JpcHRDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcbiJdfQ==
|
|
449
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0NBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxhQUFhLEVBQ2IsU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsV0FBVyxFQUNYLG9CQUFvQixFQUNwQix5QkFBeUIsRUFDekIsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLFlBQVksR0FDYixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsZ0NBQWdDLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztBQUV6QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsTUFBTSxDQUFDO0FBQ3JCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsU0FBUyxDQUFDO0FBRXhCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3ZDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN6QixJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLFdBQVcsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFD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LENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0NBQWdDLENBQUMsYUFBNEI7SUFDM0UsUUFBUSxhQUFhLEVBQUUsQ0FBQztRQUN0QixLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE9BQU87Z0JBQ0wsb0JBQW9CLENBQUMsYUFBYTtnQkFDbEMsb0JBQW9CLENBQUMsaUJBQWlCO2dCQUN0QyxvQkFBb0IsQ0FBQyxzQkFBc0I7Z0JBQzNDLG9CQUFvQixDQUFDLDBCQUEwQjthQUNoRCxDQUFDO1FBQ0osQ0FBQztRQUNELEtBQUssYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0IsT0FBTztnQkFDTCxvQkFBb0IsQ0FBQyxtQkFBbUI7Z0JBQ3hDLG9CQUFvQixDQUFDLDRCQUE0QjtnQkFDakQsb0JBQW9CLENBQUMseUJBQXlCO2FBQy9DLENBQUM7UUFDSixDQUFDO1FBQ0QsS0FBSyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzQixPQUFPO2dCQUNMLG9CQUFvQixDQUFDLGlDQUFpQztnQkFDdEQsb0JBQW9CLENBQUMsb0NBQW9DO2FBQzFELENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNSLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBFbnRpdHksXG4gIElFbmdpbmUsXG4gIElTY2hlbWEsXG4gIE1hdGVyaWFsQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBQQk1hdGVyaWFsLFxuICBQQlZpZGVvUGxheWVyLFxuICBQQk1haW5DYW1lcmEsXG4gIFBCVmlydHVhbENhbWVyYSxcbiAgVmlkZW9UZXh0dXJlLFxuICBBbmltYXRvckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZCxcbiAgVHJhbnNmb3JtQ29tcG9uZW50RXh0ZW5kZWQsXG4gIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uLFxuICBQQkF2YXRhckF0dGFjaCxcbiAgUEJWaXNpYmlsaXR5Q29tcG9uZW50LFxuICBQQkdsdGZDb250YWluZXIsXG4gIFBCVWlUcmFuc2Zvcm0sXG4gIFBCVWlUZXh0LFxuICBQQlRleHRTaGFwZSxcbiAgUEJVaUJhY2tncm91bmQsXG4gIE1lc2hSZW5kZXJlckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZCxcbiAgUEJCaWxsYm9hcmQsXG4gIE5hbWVUeXBlLFxuICBQQlR3ZWVuLFxuICBQQlR3ZWVuU2VxdWVuY2UsXG4gIFBCUG9pbnRlckV2ZW50cyxcbiAgUEJMaWdodFNvdXJjZSxcbiAgTmV0d29ya0VudGl0eSxcbiAgU3luY0NvbXBvbmVudHMsXG4gIEF1ZGlvU291cmNlQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBQQlVpSW5wdXQsXG4gIFBCVWlJbnB1dFJlc3VsdCxcbiAgUEJVaUNhbnZhc0luZm9ybWF0aW9uLFxuICBJbnB1dE1vZGlmaWVyQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkLFxuICBQQlNreWJveFRpbWUsXG59IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IFNjaGVtYXMgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBhZGRBY3Rpb25UeXBlIH0gZnJvbSAnLi9hY3Rpb24tdHlwZXMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50TmFtZSxcbiAgVHdlZW5UeXBlLFxuICBJbnRlcnBvbGF0aW9uVHlwZSxcbiAgQWN0aW9uVHlwZSxcbiAgVHJpZ2dlclR5cGUsXG4gIFRyaWdnZXJDb25kaXRpb25UeXBlLFxuICBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLFxuICBBbGlnbk1vZGUsXG4gIEZvbnQsXG4gIENvbGxpZGVycyxcbiAgUHJveGltaXR5TGF5ZXIsXG4gIEFkbWluUGVybWlzc2lvbnMsXG4gIE1lZGlhU291cmNlLFxuICBUZXh0dXJlTW92ZW1lbnRUeXBlLFxuICBUZWxlcG9ydE1vZGUsXG59IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgZ2V0RXhwbG9yZXJDb21wb25lbnRzIH0gZnJvbSAnLi9jb21wb25lbnRzJztcblxuZXhwb3J0IGNvbnN0IExJVkVLSVRfU1RSRUFNX1NSQyA9ICdsaXZla2l0LXZpZGVvOi8vY3VycmVudC1zdHJlYW0nO1xuZXhwb3J0IGNvbnN0IFZJREVPX1VSTF9UWVBFID0gJ2h0dHBzOi8vJztcblxuZXhwb3J0ICogZnJvbSAnLi9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2lkJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY2xvbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9sd3cnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBBY3Rpb25TY2hlbWFzID0ge1xuICBbQWN0aW9uVHlwZS5QTEFZX0FOSU1BVElPTl06IFNjaGVtYXMuTWFwKHtcbiAgICBhbmltYXRpb246IFNjaGVtYXMuU3RyaW5nLFxuICAgIGxvb3A6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICBzaG91bGRSZXNldDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9BTklNQVRJT05dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNFVF9TVEFURV06IFNjaGVtYXMuTWFwKHsgc3RhdGU6IFNjaGVtYXMuU3RyaW5nIH0pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9UV0VFTl06IFNjaGVtYXMuTWFwKHtcbiAgICB0eXBlOiBTY2hlbWFzLkVudW1TdHJpbmc8VHdlZW5UeXBlPihUd2VlblR5cGUsIFR3ZWVuVHlwZS5NT1ZFX0lURU0pLFxuICAgIGVuZDogU2NoZW1hcy5WZWN0b3IzLFxuICAgIGludGVycG9sYXRpb25UeXBlOiBTY2hlbWFzLkVudW1TdHJpbmcoSW50ZXJwb2xhdGlvblR5cGUsIEludGVycG9sYXRpb25UeXBlLkxJTkVBUiksXG4gICAgZHVyYXRpb246IFNjaGVtYXMuRmxvYXQsXG4gICAgcmVsYXRpdmU6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAvLyBGb3IgS0VFUF9ST1RBVElOR19JVEVNXG4gICAgZGlyZWN0aW9uOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuVmVjdG9yMyksXG4gICAgc3BlZWQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TRVRfQ09VTlRFUl06IFNjaGVtYXMuTWFwKHsgY291bnRlcjogU2NoZW1hcy5JbnQgfSksXG4gIFtBY3Rpb25UeXBlLklOQ1JFTUVOVF9DT1VOVEVSXTogU2NoZW1hcy5NYXAoe1xuICAgIGFtb3VudDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ERUNSRUFTRV9DT1VOVEVSXTogU2NoZW1hcy5NYXAoe1xuICAgIGFtb3VudDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5QTEFZX1NPVU5EXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5TdHJpbmcsXG4gICAgbG9vcDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIHZvbHVtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICBnbG9iYWw6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfU09VTkRdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlNFVF9WSVNJQklMSVRZXTogU2NoZW1hcy5NYXAoe1xuICAgIHZpc2libGU6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIGNvbGxpZGVyIGluc3RlYWQgKi9cbiAgICBwaHlzaWNzQ29sbGlkZXI6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICBjb2xsaWRlcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkVudW1OdW1iZXIoQ29sbGlkZXJzLCBDb2xsaWRlcnMuQ0xfUE9JTlRFUikpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQVRUQUNIX1RPX1BMQVlFUl06IFNjaGVtYXMuTWFwKHtcbiAgICBhbmNob3JQb2ludElkOiBTY2hlbWFzLkludCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkRFVEFDSF9GUk9NX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9WSURFT19TVFJFQU1dOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gICAgdm9sdW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuRmxvYXQpLFxuICAgIGRjbENhc3Q6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfVklERU9fU1RSRUFNXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5QTEFZX0FVRElPX1NUUkVBTV06IFNjaGVtYXMuTWFwKHtcbiAgICB1cmw6IFNjaGVtYXMuU3RyaW5nLFxuICAgIHZvbHVtZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfQVVESU9fU1RSRUFNXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5URUxFUE9SVF9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7XG4gICAgbW9kZTogU2NoZW1hcy5FbnVtU3RyaW5nPFRlbGVwb3J0TW9kZT4oVGVsZXBvcnRNb2RlLCBUZWxlcG9ydE1vZGUuVE9fQ09PUkRJTkFURVMpLFxuICAgIHg6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICAgIHk6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICAgIHJlYWxtOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk1PVkVfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIHBvc2l0aW9uOiBTY2hlbWFzLlZlY3RvcjMsXG4gICAgY2FtZXJhVGFyZ2V0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuVmVjdG9yMyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5QTEFZX0RFRkFVTFRfRU1PVEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgZW1vdGU6IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuUExBWV9DVVNUT01fRU1PVEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgc3JjOiBTY2hlbWFzLlN0cmluZyxcbiAgICBsb29wOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5PUEVOX0xJTktdOiBTY2hlbWFzLk1hcCh7XG4gICAgdXJsOiBTY2hlbWFzLlN0cmluZyxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNIT1dfVEVYVF06IFNjaGVtYXMuTWFwKHtcbiAgICB0ZXh0OiBTY2hlbWFzLlN0cmluZyxcbiAgICBoaWRlQWZ0ZXJTZWNvbmRzOiBTY2hlbWFzLkZsb2F0LFxuICAgIGZvbnQ6IFNjaGVtYXMuRW51bU51bWJlcihGb250LCBGb250LkZfU0FOU19TRVJJRiksXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgdGV4dEFsaWduOiBTY2hlbWFzLkVudW1OdW1iZXIoQWxpZ25Nb2RlLCBBbGlnbk1vZGUuVEFNX01JRERMRV9DRU5URVIpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuSElERV9URVhUXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TVEFSVF9ERUxBWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICB0aW1lb3V0OiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9ERUxBWV06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RBUlRfTE9PUF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICBpbnRlcnZhbDogU2NoZW1hcy5GbG9hdCxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNUT1BfTE9PUF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb246IFNjaGVtYXMuU3RyaW5nLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0xPTkVfRU5USVRZXTogU2NoZW1hcy5NYXAoe1xuICAgIHBvc2l0aW9uOiBTY2hlbWFzLlZlY3RvcjMsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5SRU1PVkVfRU5USVRZXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TSE9XX0lNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIHNyYzogU2NoZW1hcy5TdHJpbmcsXG4gICAgYWxpZ246IFNjaGVtYXMuRW51bU51bWJlcihBbGlnbk1vZGUsIEFsaWduTW9kZS5UQU1fTUlERExFX0NFTlRFUiksXG4gICAgaGVpZ2h0OiBTY2hlbWFzLkZsb2F0LFxuICAgIHdpZHRoOiBTY2hlbWFzLkZsb2F0LFxuICAgIGhpZGVBZnRlclNlY29uZHM6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gICAgdGV4dDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgZm9udFNpemU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ISURFX0lNQUdFXTogU2NoZW1hcy5NYXAoe1xuICAgIGltYWdlRW50aXR5OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkRBTUFHRV06IFNjaGVtYXMuTWFwKHtcbiAgICByYWRpdXM6IFNjaGVtYXMuRmxvYXQsXG4gICAgbGF5ZXI6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5FbnVtU3RyaW5nKFByb3hpbWl0eUxheWVyLCBQcm94aW1pdHlMYXllci5BTEwpKSxcbiAgICBoaXRzOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLk1PVkVfUExBWUVSX0hFUkVdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQVlFUl9GQUNFX0lURU1dOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLlBMQUNFX09OX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUk9UQVRFX0FTX1BMQVlFUl06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuUExBQ0VfT05fQ0FNRVJBXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5ST1RBVEVfQVNfQ0FNRVJBXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TRVRfUE9TSVRJT05dOiBTY2hlbWFzLk1hcCh7XG4gICAgeDogU2NoZW1hcy5GbG9hdCxcbiAgICB5OiBTY2hlbWFzLkZsb2F0LFxuICAgIHo6IFNjaGVtYXMuRmxvYXQsXG4gICAgcmVsYXRpdmU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlNFVF9ST1RBVElPTl06IFNjaGVtYXMuTWFwKHtcbiAgICB4OiBTY2hlbWFzLkZsb2F0LFxuICAgIHk6IFNjaGVtYXMuRmxvYXQsXG4gICAgejogU2NoZW1hcy5GbG9hdCxcbiAgICByZWxhdGl2ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU0VUX1NDQUxFXTogU2NoZW1hcy5NYXAoe1xuICAgIHg6IFNjaGVtYXMuRmxvYXQsXG4gICAgeTogU2NoZW1hcy5GbG9hdCxcbiAgICB6OiBTY2hlbWFzLkZsb2F0LFxuICAgIHJlbGF0aXZlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQm9vbGVhbiksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5GT0xMT1dfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIHNwZWVkOiBTY2hlbWFzLkZsb2F0LFxuICAgIHg6IFNjaGVtYXMuQm9vbGVhbixcbiAgICB5OiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgejogU2NoZW1hcy5Cb29sZWFuLFxuICAgIG1pbkRpc3RhbmNlOiBTY2hlbWFzLkZsb2F0LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuU1RPUF9GT0xMT1dJTkdfUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5SQU5ET01dOiBTY2hlbWFzLk1hcCh7XG4gICAgYWN0aW9uczogU2NoZW1hcy5BcnJheShTY2hlbWFzLlN0cmluZyksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5CQVRDSF06IFNjaGVtYXMuTWFwKHtcbiAgICBhY3Rpb25zOiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkhFQUxfUExBWUVSXTogU2NoZW1hcy5NYXAoe1xuICAgIG11bHRpcGxpZXI6IFNjaGVtYXMuSW50LFxuICB9KSxcbiAgW0FjdGlvblR5cGUuQ0xBSU1fQUlSRFJPUF06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuTElHSFRTX09OXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5MSUdIVFNfT0ZGXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5MSUdIVFNfTU9ESUZZXTogU2NoZW1hcy5NYXAoe1xuICAgIGFjdGl2ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgIGNvbG9yOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuQ29sb3IzKSxcbiAgICBpbnRlbnNpdHk6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5DSEFOR0VfQ0FNRVJBXTogU2NoZW1hcy5NYXAoe1xuICAgIC8qKiBJZiB1bmRlZmluZWQsIHVzZXMgdGhlIGVudGl0eSB0aGF0IG93bnMgdGhlIEFjdGlvbnMgY29tcG9uZW50LiBJZiAwIChSb290RW50aXR5KSwgcmVtb3ZlcyBjYW1lcmEuICovXG4gICAgdmlydHVhbENhbWVyYUVudGl0eTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkVudGl0eSksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5DSEFOR0VfVEVYVF06IFNjaGVtYXMuTWFwKHtcbiAgICB0ZXh0OiBTY2hlbWFzLlN0cmluZyxcbiAgICBmb250U2l6ZTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkZsb2F0KSxcbiAgICBjb2xvcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkNvbG9yNCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5TVE9QX1RXRUVOXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5TTElERV9URVhUVVJFXTogU2NoZW1hcy5NYXAoe1xuICAgIGRpcmVjdGlvbjogU2NoZW1hcy5NYXAoeyB4OiBTY2hlbWFzLkZsb2F0LCB5OiBTY2hlbWFzLkZsb2F0IH0pLFxuICAgIHNwZWVkOiBTY2hlbWFzLkZsb2F0LFxuICAgIG1vdmVtZW50VHlwZTogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgIFNjaGVtYXMuRW51bU51bWJlcihUZXh0dXJlTW92ZW1lbnRUeXBlLCBUZXh0dXJlTW92ZW1lbnRUeXBlLlRNVF9PRkZTRVQpLFxuICAgICksXG4gICAgZHVyYXRpb246IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5GUkVFWkVfUExBWUVSXTogU2NoZW1hcy5NYXAoe30pLFxuICBbQWN0aW9uVHlwZS5VTkZSRUVaRV9QTEFZRVJdOiBTY2hlbWFzLk1hcCh7fSksXG4gIFtBY3Rpb25UeXBlLkNIQU5HRV9DT0xMSVNJT05TXTogU2NoZW1hcy5NYXAoe1xuICAgIHZpc2libGVDb2xsaXNpb25zOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgICBpbnZpc2libGVDb2xsaXNpb25zOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLkNIQU5HRV9TS1lCT1hdOiBTY2hlbWFzLk1hcCh7XG4gICAgdGltZTogU2NoZW1hcy5JbnQsXG4gICAgZGlyZWN0aW9uOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuSW50KSxcbiAgfSksXG4gIFtBY3Rpb25UeXBlLlJFU0VUX1NLWUJPWF06IFNjaGVtYXMuTWFwKHt9KSxcbiAgW0FjdGlvblR5cGUuQ0FMTF9TQ1JJUFRfTUVUSE9EXTogU2NoZW1hcy5NYXAoe1xuICAgIHNjcmlwdFBhdGg6IFNjaGVtYXMuU3RyaW5nLFxuICAgIG1ldGhvZE5hbWU6IFNjaGVtYXMuU3RyaW5nLFxuICAgIHBhcmFtczogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLk1hcCh7fSkpLFxuICB9KSxcbiAgW0FjdGlvblR5cGUuTE9HX1RPX0NPTlNPTEVdOiBTY2hlbWFzLk1hcCh7XG4gICAgbWVzc2FnZTogU2NoZW1hcy5TdHJpbmcsXG4gIH0pLFxuICBbQWN0aW9uVHlwZS5ERUxFVEVdOiBTY2hlbWFzLk1hcCh7fSksXG59O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25QYXlsb2FkPFQgZXh0ZW5kcyBBY3Rpb25UeXBlID0gYW55PiA9IFQgZXh0ZW5kcyBrZXlvZiB0eXBlb2YgQWN0aW9uU2NoZW1hc1xuICA/ICh0eXBlb2YgQWN0aW9uU2NoZW1hcylbVF0gZXh0ZW5kcyBJU2NoZW1hXG4gICAgPyBSZXR1cm5UeXBlPCh0eXBlb2YgQWN0aW9uU2NoZW1hcylbVF1bJ2Rlc2VyaWFsaXplJ10+XG4gICAgOiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj5cbiAgOiBSZWNvcmQ8c3RyaW5nLCBuZXZlcj47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21wb25lbnQ8VD4oY29tcG9uZW50TmFtZTogc3RyaW5nLCBlbmdpbmU6IElFbmdpbmUpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZW5naW5lLmdldENvbXBvbmVudChjb21wb25lbnROYW1lKSBhcyBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxUPjtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBFcnJvciB1c2luZyBnZXRDb21wb25lbnQgd2l0aCBjb21wb25lbnROYW1lPVwiJHtjb21wb25lbnROYW1lfVwiYCk7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbXBvbmVudHMoZW5naW5lOiBJRW5naW5lKSB7XG4gIHJldHVybiB7XG4gICAgQWN0aW9uczogZ2V0Q29tcG9uZW50PEFjdGlvbnM+KENvbXBvbmVudE5hbWUuQUNUSU9OUywgZW5naW5lKSxcbiAgICBTdGF0ZXM6IGdldENvbXBvbmVudDxTdGF0ZXM+KENvbXBvbmVudE5hbWUuU1RBVEVTLCBlbmdpbmUpLFxuICAgIENvdW50ZXI6IGdldENvbXBvbmVudDxDb3VudGVyPihDb21wb25lbnROYW1lLkNPVU5URVIsIGVuZ2luZSksXG4gICAgVHJpZ2dlcnM6IGdldENvbXBvbmVudDxUcmlnZ2Vycz4oQ29tcG9uZW50TmFtZS5UUklHR0VSUywgZW5naW5lKSxcbiAgICBDb3VudGVyQmFyOiBnZXRDb21wb25lbnQ8Q291bnRlckJhcj4oQ29tcG9uZW50TmFtZS5DT1VOVEVSX0JBUiwgZW5naW5lKSxcbiAgICBBZG1pblRvb2xzOiBnZXRDb21wb25lbnQ8QWRtaW5Ub29scz4oQ29tcG9uZW50TmFtZS5BRE1JTl9UT09MUywgZW5naW5lKSxcbiAgICBWaWRlb1NjcmVlbjogZ2V0Q29tcG9uZW50PFZpZGVvU2NyZWVuPihDb21wb25lbnROYW1lLlZJREVPX1NDUkVFTiwgZW5naW5lKSxcbiAgICBSZXdhcmRzOiBnZXRDb21wb25lbnQ8UmV3YXJkcz4oQ29tcG9uZW50TmFtZS5SRVdBUkRTLCBlbmdpbmUpLFxuICAgIFRleHRBbm5vdW5jZW1lbnRzOiBnZXRDb21wb25lbnQ8VGV4dEFubm91bmNlbWVudHM+KENvbXBvbmVudE5hbWUuVEVYVF9BTk5PVU5DRU1FTlRTLCBlbmdpbmUpLFxuICAgIFZpZGVvQ29udHJvbFN0YXRlOiBnZXRDb21wb25lbnQ8VmlkZW9Db250cm9sU3RhdGU+KENvbXBvbmVudE5hbWUuVklERU9fQ09OVFJPTF9TVEFURSwgZW5naW5lKSxcbiAgICBTY3JpcHQ6IGdldENvbXBvbmVudDxTY3JpcHQ+KENvbXBvbmVudE5hbWUuU0NSSVBULCBlbmdpbmUpLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50cyhlbmdpbmU6IElFbmdpbmUpIHtcbiAgY29uc3QgQWN0aW9uVHlwZXMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuQUNUSU9OX1RZUEVTLCB7XG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoXG4gICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgIHR5cGU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICBqc29uU2NoZW1hOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgIH0pLFxuICAgICksXG4gIH0pO1xuXG4gIGNvbnN0IEFjdGlvbnMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuQUNUSU9OUywge1xuICAgIGlkOiBTY2hlbWFzLkludCxcbiAgICB2YWx1ZTogU2NoZW1hcy5BcnJheShcbiAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgbmFtZTogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgIHR5cGU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICBqc29uUGF5bG9hZDogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgIGFsbG93ZWRJbkJhc2ljVmlldzogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkJvb2xlYW4pLFxuICAgICAgICBiYXNpY1ZpZXdJZDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgICAgIGRlZmF1bHQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5Cb29sZWFuKSxcbiAgICAgIH0pLFxuICAgICksXG4gIH0pO1xuXG4gIGNvbnN0IENvdW50ZXIgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuQ09VTlRFUiwge1xuICAgIGlkOiBTY2hlbWFzLk51bWJlcixcbiAgICB2YWx1ZTogU2NoZW1hcy5JbnQsXG4gIH0pO1xuXG4gIGNvbnN0IFRyaWdnZXJzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLlRSSUdHRVJTLCB7XG4gICAgdmFsdWU6IFNjaGVtYXMuQXJyYXkoXG4gICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgIHR5cGU6IFNjaGVtYXMuRW51bVN0cmluZzxUcmlnZ2VyVHlwZT4oVHJpZ2dlclR5cGUsIFRyaWdnZXJUeXBlLk9OX0lOUFVUX0FDVElPTiksXG4gICAgICAgIGNvbmRpdGlvbnM6IFNjaGVtYXMuT3B0aW9uYWwoXG4gICAgICAgICAgU2NoZW1hcy5BcnJheShcbiAgICAgICAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgICAgICAgaWQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQpLFxuICAgICAgICAgICAgICB0eXBlOiBTY2hlbWFzLkVudW1TdHJpbmc8VHJpZ2dlckNvbmRpdGlvblR5cGU+KFxuICAgICAgICAgICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLFxuICAgICAgICAgICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVMsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHZhbHVlOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIG9wZXJhdGlvbjogU2NoZW1hcy5PcHRpb25hbChcbiAgICAgICAgICBTY2hlbWFzLkVudW1TdHJpbmc8VHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbj4oXG4gICAgICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLFxuICAgICAgICAgICAgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbi5BTkQsXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgYWN0aW9uczogU2NoZW1hcy5BcnJheShcbiAgICAgICAgICBTY2hlbWFzLk1hcCh7XG4gICAgICAgICAgICBpZDogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLkludCksXG4gICAgICAgICAgICBuYW1lOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICAgYmFzaWNWaWV3SWQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgICAgfSksXG4gICAgKSxcbiAgfSk7XG5cbiAgY29uc3QgU3RhdGVzID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLlNUQVRFUywge1xuICAgIGlkOiBTY2hlbWFzLk51bWJlcixcbiAgICB2YWx1ZTogU2NoZW1hcy5BcnJheShTY2hlbWFzLlN0cmluZyksXG4gICAgZGVmYXVsdFZhbHVlOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICBjdXJyZW50VmFsdWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICAgIHByZXZpb3VzVmFsdWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5TdHJpbmcpLFxuICB9KTtcblxuICBjb25zdCBDb3VudGVyQmFyID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLkNPVU5URVJfQkFSLCB7XG4gICAgcHJpbWFyeUNvbG9yOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICBzZWNvbmRhcnlDb2xvcjogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gICAgbWF4VmFsdWU6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5GbG9hdCksXG4gIH0pO1xuXG4gIGNvbnN0IFZpZGVvU2NyZWVuID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLlZJREVPX1NDUkVFTiwge1xuICAgIHRodW1ibmFpbDogU2NoZW1hcy5TdHJpbmcsXG4gICAgZGVmYXVsdE1lZGlhU291cmNlOiBTY2hlbWFzLkVudW1OdW1iZXI8TWVkaWFTb3VyY2U+KE1lZGlhU291cmNlLCBNZWRpYVNvdXJjZS5WaWRlb1VSTCksXG4gICAgZGVmYXVsdFVSTDogU2NoZW1hcy5TdHJpbmcsXG4gIH0pO1xuXG4gIGNvbnN0IEFkbWluVG9vbHMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuQURNSU5fVE9PTFMsIHtcbiAgICBhZG1pblBlcm1pc3Npb25zOiBTY2hlbWFzLkVudW1TdHJpbmc8QWRtaW5QZXJtaXNzaW9ucz4oXG4gICAgICBBZG1pblBlcm1pc3Npb25zLFxuICAgICAgQWRtaW5QZXJtaXNzaW9ucy5QVUJMSUMsXG4gICAgKSxcbiAgICBhdXRob3JpemVkQWRtaW5Vc2VyczogU2NoZW1hcy5NYXAoe1xuICAgICAgbWU6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIHNjZW5lT3duZXJzOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBhbGxvd0xpc3Q6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIGFkbWluQWxsb3dMaXN0OiBTY2hlbWFzLkFycmF5KFNjaGVtYXMuU3RyaW5nKSxcbiAgICB9KSxcbiAgICBtb2RlcmF0aW9uQ29udHJvbDogU2NoZW1hcy5NYXAoe1xuICAgICAgaXNFbmFibGVkOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBraWNrQ29vcmRpbmF0ZXM6IFNjaGVtYXMuTWFwKHtcbiAgICAgICAgeDogU2NoZW1hcy5OdW1iZXIsXG4gICAgICAgIHk6IFNjaGVtYXMuTnVtYmVyLFxuICAgICAgICB6OiBTY2hlbWFzLk51bWJlcixcbiAgICAgIH0pLFxuICAgICAgYWxsb3dOb25Pd25lcnNNYW5hZ2VBZG1pbkFsbG93TGlzdDogU2NoZW1hcy5Cb29sZWFuLFxuICAgIH0pLFxuICAgIHRleHRBbm5vdW5jZW1lbnRDb250cm9sOiBTY2hlbWFzLk1hcCh7XG4gICAgICBpc0VuYWJsZWQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIHBsYXlTb3VuZE9uRWFjaEFubm91bmNlbWVudDogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgc2hvd0F1dGhvck9uRWFjaEFubm91bmNlbWVudDogU2NoZW1hcy5Cb29sZWFuLFxuICAgIH0pLFxuICAgIHZpZGVvQ29udHJvbDogU2NoZW1hcy5NYXAoe1xuICAgICAgaXNFbmFibGVkOiBTY2hlbWFzLkJvb2xlYW4sXG4gICAgICBkaXNhYmxlVmlkZW9QbGF5ZXJzU291bmQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIHNob3dBdXRob3JPblZpZGVvUGxheWVyczogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgbGlua0FsbFZpZGVvUGxheWVyczogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgdmlkZW9QbGF5ZXJzOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgICBTY2hlbWFzLkFycmF5KFxuICAgICAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgICAgIGVudGl0eTogU2NoZW1hcy5JbnQsXG4gICAgICAgICAgICBjdXN0b21OYW1lOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgfSksXG4gICAgc21hcnRJdGVtc0NvbnRyb2w6IFNjaGVtYXMuTWFwKHtcbiAgICAgIGlzRW5hYmxlZDogU2NoZW1hcy5Cb29sZWFuLFxuICAgICAgbGlua0FsbFNtYXJ0SXRlbXM6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIHNtYXJ0SXRlbXM6IFNjaGVtYXMuT3B0aW9uYWwoXG4gICAgICAgIFNjaGVtYXMuQXJyYXkoXG4gICAgICAgICAgU2NoZW1hcy5NYXAoe1xuICAgICAgICAgICAgZW50aXR5OiBTY2hlbWFzLkludCxcbiAgICAgICAgICAgIGN1c3RvbU5hbWU6IFNjaGVtYXMuU3RyaW5nLFxuICAgICAgICAgICAgZGVmYXVsdEFjdGlvbjogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pLFxuICAgIHJld2FyZHNDb250cm9sOiBTY2hlbWFzLk1hcCh7XG4gICAgICBpc0VuYWJsZWQ6IFNjaGVtYXMuQm9vbGVhbixcbiAgICAgIHJld2FyZEl0ZW1zOiBTY2hlbWFzLk9wdGlvbmFsKFxuICAgICAgICBTY2hlbWFzLkFycmF5KFxuICAgICAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgICAgIGVudGl0eTogU2NoZW1hcy5JbnQsXG4gICAgICAgICAgICBjdXN0b21OYW1lOiBTY2hlbWFzLlN0cmluZyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IFJld2FyZHMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuUkVXQVJEUywge1xuICAgIGNhbXBhaWduSWQ6IFNjaGVtYXMuU3RyaW5nLFxuICAgIGRpc3BlbnNlcktleTogU2NoZW1hcy5TdHJpbmcsXG4gICAgdGVzdE1vZGU6IFNjaGVtYXMuQm9vbGVhbixcbiAgfSk7XG5cbiAgY29uc3QgVGV4dEFubm91bmNlbWVudHMgPSBlbmdpbmUuZGVmaW5lQ29tcG9uZW50KENvbXBvbmVudE5hbWUuVEVYVF9BTk5PVU5DRU1FTlRTLCB7XG4gICAgdGV4dDogU2NoZW1hcy5TdHJpbmcsXG4gICAgYXV0aG9yOiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICBpZDogU2NoZW1hcy5TdHJpbmcsXG4gIH0pO1xuXG4gIGNvbnN0IFZpZGVvQ29udHJvbFN0YXRlID0gZW5naW5lLmRlZmluZUNvbXBvbmVudChDb21wb25lbnROYW1lLlZJREVPX0NPTlRST0xfU1RBVEUsIHtcbiAgICBlbmRzQXQ6IFNjaGVtYXMuT3B0aW9uYWwoU2NoZW1hcy5JbnQ2NCksXG4gICAgLyoqIEBkZXByZWNhdGVkIHN0cmVhbUtleSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiAqL1xuICAgIHN0cmVhbUtleTogU2NoZW1hcy5PcHRpb25hbChTY2hlbWFzLlN0cmluZyksXG4gIH0pO1xuXG4gIGNvbnN0IFNjcmlwdCA9IGVuZ2luZS5kZWZpbmVDb21wb25lbnQoQ29tcG9uZW50TmFtZS5TQ1JJUFQsIHtcbiAgICB2YWx1ZTogU2NoZW1hcy5BcnJheShcbiAgICAgIFNjaGVtYXMuTWFwKHtcbiAgICAgICAgcGF0aDogU2NoZW1hcy5TdHJpbmcsXG4gICAgICAgIHByaW9yaXR5OiBTY2hlbWFzLk51bWJlcixcbiAgICAgICAgbGF5b3V0OiBTY2hlbWFzLk9wdGlvbmFsKFNjaGVtYXMuU3RyaW5nKSxcbiAgICAgIH0pLFxuICAgICksXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgQWN0aW9uVHlwZXMsXG4gICAgQWN0aW9ucyxcbiAgICBDb3VudGVyLFxuICAgIFRyaWdnZXJzLFxuICAgIFN0YXRlcyxcbiAgICBDb3VudGVyQmFyLFxuICAgIEFkbWluVG9vbHMsXG4gICAgUmV3YXJkcyxcbiAgICBUZXh0QW5ub3VuY2VtZW50cyxcbiAgICBWaWRlb0NvbnRyb2xTdGF0ZSxcbiAgICBWaWRlb1NjcmVlbixcbiAgICBTY3JpcHQsXG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIEVuZ2luZUNvbXBvbmVudHMgPSB7XG4gIEFuaW1hdG9yOiBBbmltYXRvckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgVHJhbnNmb3JtOiBUcmFuc2Zvcm1Db21wb25lbnRFeHRlbmRlZDtcbiAgQXVkaW9Tb3VyY2U6IEF1ZGlvU291cmNlQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkO1xuICBBdmF0YXJBdHRhY2g6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCQXZhdGFyQXR0YWNoPjtcbiAgVmlzaWJpbGl0eUNvbXBvbmVudDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJWaXNpYmlsaXR5Q29tcG9uZW50PjtcbiAgR2x0ZkNvbnRhaW5lcjogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJHbHRmQ29udGFpbmVyPjtcbiAgTWF0ZXJpYWw6IE1hdGVyaWFsQ29tcG9uZW50RGVmaW5pdGlvbkV4dGVuZGVkO1xuICBNZXNoUmVuZGVyZXI6IE1lc2hSZW5kZXJlckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgVmlkZW9QbGF5ZXI6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVmlkZW9QbGF5ZXI+O1xuICBMaWdodFNvdXJjZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJMaWdodFNvdXJjZT47XG4gIFZpcnR1YWxDYW1lcmE6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVmlydHVhbENhbWVyYT47XG4gIE1haW5DYW1lcmE6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCTWFpbkNhbWVyYT47XG4gIFRleHRTaGFwZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJUZXh0U2hhcGU+O1xuICBVaVRyYW5zZm9ybTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaVRyYW5zZm9ybT47XG4gIFVpVGV4dDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaVRleHQ+O1xuICBVaUJhY2tncm91bmQ6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVWlCYWNrZ3JvdW5kPjtcbiAgVWlJbnB1dDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaUlucHV0PjtcbiAgVWlJbnB1dFJlc3VsdDogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaUlucHV0UmVzdWx0PjtcbiAgVWlDYW52YXNJbmZvcm1hdGlvbjogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJVaUNhbnZhc0luZm9ybWF0aW9uPjtcbiAgQmlsbGJvYXJkOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQkJpbGxib2FyZD47XG4gIE5hbWU6IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPE5hbWVUeXBlPjtcbiAgVHdlZW46IExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFBCVHdlZW4+O1xuICBUd2VlblNlcXVlbmNlOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlR3ZWVuU2VxdWVuY2U+O1xuICBQb2ludGVyRXZlbnRzOiBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxQQlBvaW50ZXJFdmVudHM+O1xuICBOZXR3b3JrRW50aXR5OiB0eXBlb2YgTmV0d29ya0VudGl0eTtcbiAgU3luY0NvbXBvbmVudHM6IHR5cGVvZiBTeW5jQ29tcG9uZW50cztcbiAgSW5wdXRNb2RpZmllcjogSW5wdXRNb2RpZmllckNvbXBvbmVudERlZmluaXRpb25FeHRlbmRlZDtcbiAgU2t5Ym94VGltZTogTGFzdFdyaXRlV2luRWxlbWVudFNldENvbXBvbmVudERlZmluaXRpb248UEJTa3lib3hUaW1lPjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0Q29tcG9uZW50cyhlbmdpbmU6IElFbmdpbmUpIHtcbiAgLy8gQWRkIGFjdGlvbnMgZnJvbSB0aGlzIHBhY2thZ2VcbiAgY29uc3QgYWN0aW9uVHlwZXMgPSBPYmplY3QudmFsdWVzKEFjdGlvblR5cGUpO1xuICBmb3IgKGNvbnN0IHR5cGUgb2YgYWN0aW9uVHlwZXMpIHtcbiAgICBjb25zdCBhY3Rpb25UeXBlID0gdHlwZSBhcyBBY3Rpb25UeXBlO1xuICAgIGFkZEFjdGlvblR5cGUoZW5naW5lLCBhY3Rpb25UeXBlLCBBY3Rpb25TY2hlbWFzW2FjdGlvblR5cGVdKTtcbiAgfVxuXG4gIC8vIEFkZCBjb3VudGVyIHRvIHJvb3QgZW50aXR5XG4gIGNvbnN0IENvdW50ZXIgPSBlbmdpbmUuZ2V0Q29tcG9uZW50KFxuICAgIENvbXBvbmVudE5hbWUuQ09VTlRFUixcbiAgKSBhcyBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxDb3VudGVyPjtcbiAgY29uc3QgY291bnRlciA9IENvdW50ZXIuZ2V0T3JDcmVhdGVNdXRhYmxlKGVuZ2luZS5Sb290RW50aXR5KTtcbiAgY291bnRlci52YWx1ZSA9IGNvdW50ZXIudmFsdWUgfHwgMDtcblxuICBjb25zdCB7IFZpZGVvUGxheWVyLCBNYXRlcmlhbCB9ID0gZ2V0RXhwbG9yZXJDb21wb25lbnRzKGVuZ2luZSk7XG4gIGluaXRWaWRlb1BsYXllckNvbXBvbmVudHMoZW5naW5lLCB7IFZpZGVvUGxheWVyLCBNYXRlcmlhbCB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0VmlkZW9UZXh0dXJlKHsgbWF0ZXJpYWwgfTogUEJNYXRlcmlhbCk6IFZpZGVvVGV4dHVyZSB8IHVuZGVmaW5lZCB7XG4gIGlmIChtYXRlcmlhbD8uJGNhc2UgPT09ICd1bmxpdCcgJiYgbWF0ZXJpYWwudW5saXQudGV4dHVyZT8udGV4Py4kY2FzZSA9PT0gJ3ZpZGVvVGV4dHVyZScpIHtcbiAgICByZXR1cm4gbWF0ZXJpYWwudW5saXQudGV4dHVyZS50ZXgudmlkZW9UZXh0dXJlO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRWaWRlb1BsYXllckNvbXBvbmVudE1hdGVyaWFsKFxuICBlbnRpdHk6IEVudGl0eSxcbiAgeyBNYXRlcmlhbCB9OiBQaWNrPEVuZ2luZUNvbXBvbmVudHMsICdNYXRlcmlhbCc+LFxuICBtYXRlcmlhbD86IFBCTWF0ZXJpYWwgfCBudWxsLFxuKSB7XG4gIGlmICghbWF0ZXJpYWwgfHwgIW1hdGVyaWFsLm1hdGVyaWFsIHx8IG1hdGVyaWFsLm1hdGVyaWFsLiRjYXNlICE9PSAndW5saXQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBNYXRlcmlhbC5zZXRCYXNpY01hdGVyaWFsKGVudGl0eSwge1xuICAgIC4uLm1hdGVyaWFsLm1hdGVyaWFsLnVubGl0LFxuICAgIHRleHR1cmU6IE1hdGVyaWFsLlRleHR1cmUuVmlkZW8oe1xuICAgICAgdmlkZW9QbGF5ZXJFbnRpdHk6IGVudGl0eSxcbiAgICB9KSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGluaXRWaWRlb1BsYXllckNvbXBvbmVudHMoXG4gIGVuZ2luZTogSUVuZ2luZSxcbiAgY29tcG9uZW50czogUGljazxFbmdpbmVDb21wb25lbnRzLCAnTWF0ZXJpYWwnIHwgJ1ZpZGVvUGxheWVyJz4sXG4pIHtcbiAgZnVuY3Rpb24gcmVwbGFjZVZpZGVvVGV4dHVyZSgpIHtcbiAgICBjb25zdCB7IE1hdGVyaWFsLCBWaWRlb1BsYXllciB9ID0gY29tcG9uZW50cztcbiAgICBlbmdpbmUucmVtb3ZlU3lzdGVtKHJlcGxhY2VWaWRlb1RleHR1cmUpO1xuICAgIGZvciAoY29uc3QgW2VudGl0eSwgbWF0ZXJpYWxdIG9mIGVuZ2luZS5nZXRFbnRpdGllc1dpdGgoTWF0ZXJpYWwsIFZpZGVvUGxheWVyKSkge1xuICAgICAgY29uc3QgdmlkZW9UZXh0dXJlID0gZ2V0VmlkZW9UZXh0dXJlKG1hdGVyaWFsKTtcbiAgICAgIGlmICh2aWRlb1RleHR1cmU/LnZpZGVvUGxheWVyRW50aXR5ID09PSBlbmdpbmUuUm9vdEVudGl0eSkge1xuICAgICAgICBpbml0VmlkZW9QbGF5ZXJDb21wb25lbnRNYXRlcmlhbChlbnRpdHksIGNvbXBvbmVudHMsIG1hdGVyaWFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZW5naW5lLmFkZFN5c3RlbShyZXBsYWNlVmlkZW9UZXh0dXJlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmRpdGlvblR5cGVzQnlDb21wb25lbnROYW1lKGNvbXBvbmVudE5hbWU6IENvbXBvbmVudE5hbWUpIHtcbiAgc3dpdGNoIChjb21wb25lbnROYW1lKSB7XG4gICAgY2FzZSBDb21wb25lbnROYW1lLlNUQVRFUzoge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9TVEFURV9JUyxcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9TVEFURV9JU19OT1QsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fUFJFVklPVVNfU1RBVEVfSVMsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fUFJFVklPVVNfU1RBVEVfSVNfTk9ULFxuICAgICAgXTtcbiAgICB9XG4gICAgY2FzZSBDb21wb25lbnROYW1lLkNPVU5URVI6IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9FUVVBTFMsXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19HUkVBVEVSX1RIQU4sXG4gICAgICAgIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19MRVNTX1RIQU4sXG4gICAgICBdO1xuICAgIH1cbiAgICBjYXNlIENvbXBvbmVudE5hbWUuQUNUSU9OUzoge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfTEVTU19USEFOLFxuICAgICAgICBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9HUkVBVEVSX1RIQU4sXG4gICAgICBdO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB0eXBlIENvbXBvbmVudHMgPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVDb21wb25lbnRzPjtcblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXNDb21wb25lbnQgPSBDb21wb25lbnRzWydBY3Rpb25UeXBlcyddO1xuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXMgPSBSZXR1cm5UeXBlPEFjdGlvblR5cGVzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIEFjdGlvbnNDb21wb25lbnQgPSBDb21wb25lbnRzWydBY3Rpb25zJ107XG5leHBvcnQgdHlwZSBBY3Rpb25zID0gUmV0dXJuVHlwZTxBY3Rpb25zQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5leHBvcnQgdHlwZSBBY3Rpb24gPSBBY3Rpb25zWyd2YWx1ZSddWzBdO1xuXG5leHBvcnQgdHlwZSBDb3VudGVyQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQ291bnRlciddO1xuZXhwb3J0IHR5cGUgQ291bnRlciA9IFJldHVyblR5cGU8Q291bnRlckNvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBDb3VudGVyQmFyQ29tcG9uZW50ID0gQ29tcG9uZW50c1snQ291bnRlckJhciddO1xuZXhwb3J0IHR5cGUgQ291bnRlckJhciA9IFJldHVyblR5cGU8Q291bnRlckJhckNvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBUcmlnZ2Vyc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ1RyaWdnZXJzJ107XG5leHBvcnQgdHlwZSBUcmlnZ2VycyA9IFJldHVyblR5cGU8VHJpZ2dlcnNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcbmV4cG9ydCB0eXBlIFRyaWdnZXIgPSBUcmlnZ2Vyc1sndmFsdWUnXVswXTtcbmV4cG9ydCB0eXBlIFRyaWdnZXJBY3Rpb24gPSBUcmlnZ2VyWydhY3Rpb25zJ11bMF07XG5leHBvcnQgdHlwZSBUcmlnZ2VyQ29uZGl0aW9uID0gRXhjbHVkZTxUcmlnZ2VyWydjb25kaXRpb25zJ10sIHVuZGVmaW5lZD5bMF07XG5cbmV4cG9ydCB0eXBlIFN0YXRlc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ1N0YXRlcyddO1xuZXhwb3J0IHR5cGUgU3RhdGVzID0gUmV0dXJuVHlwZTxTdGF0ZXNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgQWRtaW5Ub29sc0NvbXBvbmVudCA9IENvbXBvbmVudHNbJ0FkbWluVG9vbHMnXTtcbmV4cG9ydCB0eXBlIEFkbWluVG9vbHMgPSBSZXR1cm5UeXBlPEFkbWluVG9vbHNDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgVmlkZW9TY3JlZW5Db21wb25lbnQgPSBDb21wb25lbnRzWydWaWRlb1NjcmVlbiddO1xuZXhwb3J0IHR5cGUgVmlkZW9TY3JlZW4gPSBSZXR1cm5UeXBlPFZpZGVvU2NyZWVuQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFJld2FyZHNDb21wb25lbnQgPSBDb21wb25lbnRzWydSZXdhcmRzJ107XG5leHBvcnQgdHlwZSBSZXdhcmRzID0gUmV0dXJuVHlwZTxSZXdhcmRzQ29tcG9uZW50WydzY2hlbWEnXVsnZGVzZXJpYWxpemUnXT47XG5cbmV4cG9ydCB0eXBlIFRleHRBbm5vdW5jZW1lbnRzQ29tcG9uZW50ID0gQ29tcG9uZW50c1snVGV4dEFubm91bmNlbWVudHMnXTtcbmV4cG9ydCB0eXBlIFRleHRBbm5vdW5jZW1lbnRzID0gUmV0dXJuVHlwZTxUZXh0QW5ub3VuY2VtZW50c0NvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuXG5leHBvcnQgdHlwZSBWaWRlb0NvbnRyb2xTdGF0ZUNvbXBvbmVudCA9IENvbXBvbmVudHNbJ1ZpZGVvQ29udHJvbFN0YXRlJ107XG5leHBvcnQgdHlwZSBWaWRlb0NvbnRyb2xTdGF0ZSA9IFJldHVyblR5cGU8VmlkZW9Db250cm9sU3RhdGVDb21wb25lbnRbJ3NjaGVtYSddWydkZXNlcmlhbGl6ZSddPjtcblxuZXhwb3J0IHR5cGUgU2NyaXB0Q29tcG9uZW50ID0gQ29tcG9uZW50c1snU2NyaXB0J107XG5leHBvcnQgdHlwZSBTY3JpcHQgPSBSZXR1cm5UeXBlPFNjcmlwdENvbXBvbmVudFsnc2NoZW1hJ11bJ2Rlc2VyaWFsaXplJ10+O1xuIl19
|
package/dist/enums.d.ts
CHANGED
|
@@ -101,7 +101,9 @@ export declare enum ActionType {
|
|
|
101
101
|
CHANGE_COLLISIONS = "change_collisions",
|
|
102
102
|
CHANGE_SKYBOX = "change_skybox",
|
|
103
103
|
RESET_SKYBOX = "reset_skybox",
|
|
104
|
-
CALL_SCRIPT_METHOD = "call_script_method"
|
|
104
|
+
CALL_SCRIPT_METHOD = "call_script_method",
|
|
105
|
+
LOG_TO_CONSOLE = "log_to_console",
|
|
106
|
+
DELETE = "delete"
|
|
105
107
|
}
|
|
106
108
|
export declare enum TriggerType {
|
|
107
109
|
ON_CLICK = "on_click",
|
package/dist/enums.js
CHANGED
|
@@ -106,6 +106,8 @@ export var ActionType;
|
|
|
106
106
|
ActionType["CHANGE_SKYBOX"] = "change_skybox";
|
|
107
107
|
ActionType["RESET_SKYBOX"] = "reset_skybox";
|
|
108
108
|
ActionType["CALL_SCRIPT_METHOD"] = "call_script_method";
|
|
109
|
+
ActionType["LOG_TO_CONSOLE"] = "log_to_console";
|
|
110
|
+
ActionType["DELETE"] = "delete";
|
|
109
111
|
})(ActionType || (ActionType = {}));
|
|
110
112
|
export var TriggerType;
|
|
111
113
|
(function (TriggerType) {
|
|
@@ -205,4 +207,4 @@ export var MediaSource;
|
|
|
205
207
|
MediaSource[MediaSource["VideoURL"] = 0] = "VideoURL";
|
|
206
208
|
MediaSource[MediaSource["LiveStream"] = 1] = "LiveStream";
|
|
207
209
|
})(MediaSource || (MediaSource = {}));
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksYUFhWDtBQWJELFdBQVksYUFBYTtJQUN2QiwwREFBeUMsQ0FBQTtJQUN6QyxpREFBZ0MsQ0FBQTtJQUNoQyxpREFBZ0MsQ0FBQTtJQUNoQyxtREFBa0MsQ0FBQTtJQUNsQywrQ0FBOEIsQ0FBQTtJQUM5Qix3REFBdUMsQ0FBQTtJQUN2Qyx3REFBdUMsQ0FBQTtJQUN2QywwREFBeUMsQ0FBQTtJQUN6QyxpREFBZ0MsQ0FBQTtJQUNoQyxzRUFBcUQsQ0FBQTtJQUNyRCx1RUFBc0QsQ0FBQTtJQUN0RCwrQ0FBOEIsQ0FBQTtBQUNoQyxDQUFDLEVBYlcsYUFBYSxLQUFiLGFBQWEsUUFheEI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLG9DQUF1QixDQUFBO0lBQ3ZCLHdDQUEyQixDQUFBO0lBQzNCLHNDQUF5QixDQUFBO0lBQ3pCLHNEQUF5QyxDQUFBO0FBQzNDLENBQUMsRUFMVyxTQUFTLEtBQVQsU0FBUyxRQUtwQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsaURBQWlDLENBQUE7SUFDakMscUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBaUJYO0FBakJELFdBQVksaUJBQWlCO0lBQzNCLHNDQUFpQixDQUFBO0lBQ2pCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLDBDQUFxQixDQUFBO0lBQ3JCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLCtDQUEwQixDQUFBO0lBQzFCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLCtDQUEwQixDQUFBO0lBQzFCLG9EQUErQixDQUFBO0lB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LHdEQUFpQixDQUFBO0lBQ2pCLHdEQUFpQixDQUFBO0lBQ2pCLHdEQUFpQixDQUFBO0lBQ2pCLHlEQUFrQixDQUFBO0lBQ2xCLHlEQUFrQixDQUFBO0FBQ3BCLENBQUMsRUFyQlcsU0FBUyxLQUFULFNBQVMsUUFxQnBCO0FBR0QsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUU3Qix5RUFBYyxDQUFBO0lBQ2QseUVBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsNkJBQVcsQ0FBQTtJQUNYLG1DQUFpQixDQUFBO0lBQ2pCLDJDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIscUNBQWlCLENBQUE7SUFDakIsdUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLHFEQUFRLENBQUE7SUFDUix5REFBVSxDQUFBO0FBQ1osQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBZR0FsaWduLCBZR0p1c3RpZnkgfSBmcm9tICdAZGNsL2Vjcyc7XG5cbmV4cG9ydCBlbnVtIENvbXBvbmVudE5hbWUge1xuICBBQ1RJT05fVFlQRVMgPSAnYXNzZXQtcGFja3M6OkFjdGlvblR5cGVzJyxcbiAgQUNUSU9OUyA9ICdhc3NldC1wYWNrczo6QWN0aW9ucycsXG4gIENPVU5URVIgPSAnYXNzZXQtcGFja3M6OkNvdW50ZXInLFxuICBUUklHR0VSUyA9ICdhc3NldC1wYWNrczo6VHJpZ2dlcnMnLFxuICBTVEFURVMgPSAnYXNzZXQtcGFja3M6OlN0YXRlcycsXG4gIENPVU5URVJfQkFSID0gJ2Fzc2V0LXBhY2tzOjpDb3VudGVyQmFyJyxcbiAgQURNSU5fVE9PTFMgPSAnYXNzZXQtcGFja3M6OkFkbWluVG9vbHMnLFxuICBWSURFT19TQ1JFRU4gPSAnYXNzZXQtcGFja3M6OlZpZGVvU2NyZWVuJyxcbiAgUkVXQVJEUyA9ICdhc3NldC1wYWNrczo6UmV3YXJkcycsXG4gIFRFWFRfQU5OT1VOQ0VNRU5UUyA9ICdhc3NldC1wYWNrczo6VGV4dEFubm91bmNlbWVudHMnLFxuICBWSURFT19DT05UUk9MX1NUQVRFID0gJ2Fzc2V0LXBhY2tzOjpWaWRlb0NvbnRyb2xTdGF0ZScsXG4gIFNDUklQVCA9ICdhc3NldC1wYWNrczo6U2NyaXB0Jyxcbn1cblxuZXhwb3J0IGVudW0gVHdlZW5UeXBlIHtcbiAgTU9WRV9JVEVNID0gJ21vdmVfaXRlbScsXG4gIFJPVEFURV9JVEVNID0gJ3JvdGF0ZV9pdGVtJyxcbiAgU0NBTEVfSVRFTSA9ICdzY2FsZV9pdGVtJyxcbiAgS0VFUF9ST1RBVElOR19JVEVNID0gJ2tlZXBfcm90YXRpbmdfaXRlbScsXG59XG5cbmV4cG9ydCBlbnVtIFRlbGVwb3J0TW9kZSB7XG4gIFRPX0NPT1JESU5BVEVTID0gJ3RvX2Nvb3JkaW5hdGVzJyxcbiAgVE9fV09STEQgPSAndG9fd29ybGQnLFxufVxuXG5leHBvcnQgZW51bSBJbnRlcnBvbGF0aW9uVHlwZSB7XG4gIExJTkVBUiA9ICdsaW5lYXInLFxuICBFQVNFSU5RVUFEID0gJ2Vhc2VpbnF1YWQnLFxuICBFQVNFT1VUUVVBRCA9ICdlYXNlb3V0cXVhZCcsXG4gIEVBU0VRVUFEID0gJ2Vhc2VxdWFkJyxcbiAgRUFTRUlOU0lORSA9ICdlYXNlaW5zaW5lJyxcbiAgRUFTRU9VVFNJTkUgPSAnZWFzZW91dHNpbmUnLFxuICBFQVNFU0lORSA9ICdlYXNlaW5vdXRzaW5lJyxcbiAgRUFTRUlORVhQTyA9ICdlYXNlaW5leHBvJyxcbiAgRUFTRU9VVEVYUE8gPSAnZWFzZW91dGV4cG8nLFxuICBFQVNFRVhQTyA9ICdlYXNlaW5vdXRleHBvJyxcbiAgRUFTRUlORUxBU1RJQyA9ICdlYXNlaW5lbGFzdGljJyxcbiAgRUFTRU9VVEVMQVNUSUMgPSAnZWFzZW91dGVsYXN0aWMnLFxuICBFQVNFRUxBU1RJQyA9ICdlYXNlaW5vdXRlbGFzdGljJyxcbiAgRUFTRUlOQk9VTkNFID0gJ2Vhc2VpbmJvdW5jZScsXG4gIEVBU0VPVVRFQk9VTkNFID0gJ2Vhc2VvdXRib3VuY2UnLFxuICBFQVNFQk9VTkNFID0gJ2Vhc2Vpbm91dGJvdW5jZScsXG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvblR5cGUge1xuICBQTEFZX0FOSU1BVElPTiA9ICdwbGF5X2FuaW1hdGlvbicsXG4gIFNUT1BfQU5JTUFUSU9OID0gJ3N0b3BfYW5pbWF0aW9uJyxcbiAgU0VUX1NUQVRFID0gJ3NldF9zdGF0ZScsXG4gIFNUQVJUX1RXRUVOID0gJ3N0YXJ0X3R3ZWVuJyxcbiAgU0VUX0NPVU5URVIgPSAnc2V0X2NvdW50ZXInLFxuICBJTkNSRU1FTlRfQ09VTlRFUiA9ICdpbmNyZW1lbnRfY291bnRlcicsXG4gIERFQ1JFQVNFX0NPVU5URVIgPSAnZGVjcmVhc2VfY291bnRlcicsXG4gIFBMQVlfU09VTkQgPSAncGxheV9zb3VuZCcsXG4gIFNUT1BfU09VTkQgPSAnc3RvcF9zb3VuZCcsXG4gIFNFVF9WSVNJQklMSVRZID0gJ3NldF92aXNpYmlsaXR5JyxcbiAgQVRUQUNIX1RPX1BMQVlFUiA9ICdhdHRhY2hfdG9fcGxheWVyJyxcbiAgREVUQUNIX0ZST01fUExBWUVSID0gJ2RldGFjaF9mcm9tX3BsYXllcicsXG4gIFBMQVlfVklERU9fU1RSRUFNID0gJ3BsYXlfdmlkZW9fc3RyZWFtJyxcbiAgU1RPUF9WSURFT19TVFJFQU0gPSAnc3RvcF92aWRlb19zdHJlYW0nLFxuICBQTEFZX0FVRElPX1NUUkVBTSA9ICdwbGF5X2F1ZGlvX3N0cmVhbScsXG4gIFNUT1BfQVVESU9fU1RSRUFNID0gJ3N0b3BfYXVkaW9fc3RyZWFtJyxcbiAgVEVMRVBPUlRfUExBWUVSID0gJ3RlbGVwb3J0X3BsYXllcicsXG4gIE1PVkVfUExBWUVSID0gJ21vdmVfcGxheWVyJyxcbiAgUExBWV9ERUZBVUxUX0VNT1RFID0gJ3BsYXlfZGVmYXVsdF9lbW90ZScsXG4gIFBMQVlfQ1VTVE9NX0VNT1RFID0gJ3BsYXlfY3VzdG9tX2Vtb3RlJyxcbiAgT1BFTl9MSU5LID0gJ29wZW5fbGluaycsXG4gIFNIT1dfVEVYVCA9ICdzaG93X3RleHQnLFxuICBISURFX1RFWFQgPSAnaGlkZV90ZXh0JyxcbiAgU1RBUlRfREVMQVkgPSAnc3RhcnRfZGVsYXknLFxuICBTVE9QX0RFTEFZID0gJ3N0b3BfZGVsYXknLFxuICBTVEFSVF9MT09QID0gJ3N0YXJ0X2xvb3AnLFxuICBTVE9QX0xPT1AgPSAnc3RvcF9sb29wJyxcbiAgQ0xPTkVfRU5USVRZID0gJ2Nsb25lX2VudGl0eScsXG4gIFJFTU9WRV9FTlRJVFkgPSAncmVtb3ZlX2VudGl0eScsXG4gIFNIT1dfSU1BR0UgPSAnc2hvd19pbWFnZScsXG4gIEhJREVfSU1BR0UgPSAnaGlkZV9pbWFnZScsXG4gIERBTUFHRSA9ICdkYW1hZ2UnLFxuICBNT1ZFX1BMQVlFUl9IRVJFID0gJ21vdmVfcGxheWVyX2hlcmUnLFxuICBQTEFZRVJfRkFDRV9JVEVNID0gJ3BsYXllcl9mYWNlX2l0ZW0nLFxuICBQTEFDRV9PTl9QTEFZRVIgPSAncGxhY2Vfb25fcGxheWVyJyxcbiAgUk9UQVRFX0FTX1BMQVlFUiA9ICdyb3RhdGVfYXNfcGxheWVyJyxcbiAgUExBQ0VfT05fQ0FNRVJBID0gJ3BsYWNlX29uX2NhbWVyYScsXG4gIFJPVEFURV9BU19DQU1FUkEgPSAncm90YXRlX2FzX2NhbWVyYScsXG4gIFNFVF9QT1NJVElPTiA9ICdzZXRfcG9zaXRpb24nLFxuICBTRVRfUk9UQVRJT04gPSAnc2V0X3JvdGF0aW9uJyxcbiAgU0VUX1NDQUxFID0gJ3NldF9zY2FsZScsXG4gIEZPTExPV19QTEFZRVIgPSAnZm9sbG93X3BsYXllcicsXG4gIFNUT1BfRk9MTE9XSU5HX1BMQVlFUiA9ICdzdG9wX2ZvbGxvd2luZ19wbGF5ZXInLFxuICBSQU5ET00gPSAncmFuZG9tJyxcbiAgQkFUQ0ggPSAnYmF0Y2gnLFxuICBIRUFMX1BMQVlFUiA9ICdoZWFsX3BsYXllcicsXG4gIENMQUlNX0FJUkRST1AgPSAnY2xhaW1fYWlyZHJvcCcsXG4gIExJR0hUU19PTiA9ICdsaWdodHNfb24nLFxuICBMSUdIVFNfT0ZGID0gJ2xpZ2h0c19vZmYnLFxuICBMSUdIVFNfTU9ESUZZID0gJ2xpZ2h0c19tb2RpZnknLFxuICBDSEFOR0VfQ0FNRVJBID0gJ2NoYW5nZV9jYW1lcmEnLFxuICBDSEFOR0VfVEVYVCA9ICdjaGFuZ2VfdGV4dCcsXG4gIFNUT1BfVFdFRU4gPSAnc3RvcF90d2VlbicsXG4gIFNMSURFX1RFWFRVUkUgPSAnc2xpZGVfdGV4dHVyZScsXG4gIEZSRUVaRV9QTEFZRVIgPSAnZnJlZXplX3BsYXllcicsXG4gIFVORlJFRVpFX1BMQVlFUiA9ICd1bmZyZWV6ZV9wbGF5ZXInLFxuICBDSEFOR0VfQ09MTElTSU9OUyA9ICdjaGFuZ2VfY29sbGlzaW9ucycsXG4gIENIQU5HRV9TS1lCT1ggPSAnY2hhbmdlX3NreWJveCcsXG4gIFJFU0VUX1NLWUJPWCA9ICdyZXNldF9za3lib3gnLFxuICBDQUxMX1NDUklQVF9NRVRIT0QgPSAnY2FsbF9zY3JpcHRfbWV0aG9kJyxcbn1cblxuZXhwb3J0IGVudW0gVHJpZ2dlclR5cGUge1xuICAvKiogQGRlcHJlY2F0ZWQgdXNlIE9OX0lOUFVUX0FDVElPTiBpbnN0ZWFkICovXG4gIE9OX0NMSUNLID0gJ29uX2NsaWNrJyxcbiAgT05fSU5QVVRfQUNUSU9OID0gJ29uX2lucHV0X2FjdGlvbicsXG4gIE9OX1NUQVRFX0NIQU5HRSA9ICdvbl9zdGF0ZV9jaGFuZ2UnLFxuICBPTl9TUEFXTiA9ICdvbl9zcGF3bicsXG4gIE9OX1RXRUVOX0VORCA9ICdvbl90d2Vlbl9lbmQnLFxuICBPTl9DT1VOVEVSX0NIQU5HRSA9ICdvbl9jb3VudGVyX2NoYW5nZScsXG4gIE9OX1BMQVlFUl9FTlRFUlNfQVJFQSA9ICdvbl9wbGF5ZXJfZW50ZXJzX2FyZWEnLFxuICBPTl9QTEFZRVJfTEVBVkVTX0FSRUEgPSAnb25fcGxheWVyX2xlYXZlc19hcmVhJyxcbiAgT05fREVMQVkgPSAnb25fZGVsYXknLFxuICBPTl9MT09QID0gJ29uX2xvb3AnLFxuICBPTl9DTE9ORSA9ICdvbl9jbG9uZScsXG4gIE9OX0NMSUNLX0lNQUdFID0gJ29uX2NsaWNrX2ltYWdlJyxcbiAgT05fREFNQUdFID0gJ29uX2RhbWFnZScsXG4gIE9OX0dMT0JBTF9DTElDSyA9ICdvbl9nbG9iYWxfY2xpY2snLFxuICBPTl9HTE9CQUxfUFJJTUFSWSA9ICdvbl9nbG9iYWxfcHJpbWFyeScsXG4gIE9OX0dMT0JBTF9TRUNPTkRBUlkgPSAnb25fZ2xvYmFsX3NlY29uZGFyeScsXG4gIE9OX1RJQ0sgPSAnb25fdGljaycsXG4gIE9OX0hFQUxfUExBWUVSID0gJ29uX2hlYWxfcGxheWVyJyxcbiAgT05fUExBWUVSX1NQQVdOID0gJ29uX3BsYXllcl9zcGF3bicsXG59XG5cbmV4cG9ydCBlbnVtIFRyaWdnZXJDb25kaXRpb25UeXBlIHtcbiAgV0hFTl9TVEFURV9JUyA9ICd3aGVuX3N0YXRlX2lzJyxcbiAgV0hFTl9TVEFURV9JU19OT1QgPSAnd2hlbl9zdGF0ZV9pc19ub3QnLFxuICBXSEVOX0NPVU5URVJfRVFVQUxTID0gJ3doZW5fY291bnRlcl9lcXVhbHMnLFxuICBXSEVOX0NPVU5URVJfSVNfR1JFQVRFUl9USEFOID0gJ3doZW5fY291bnRlcl9pc19ncmVhdGVyX3RoYW4nLFxuICBXSEVOX0NPVU5URVJfSVNfTEVTU19USEFOID0gJ3doZW5fY291bnRlcl9pc19sZXNzX3RoYW4nLFxuICBXSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9MRVNTX1RIQU4gPSAnd2hlbl9kaXN0YW5jZV90b19wbGF5ZXJfbGVzc190aGFuJyxcbiAgV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfR1JFQVRFUl9USEFOID0gJ3doZW5fZGlzdGFuY2VfdG9fcGxheWVyX2dyZWF0ZXJfdGhhbicsXG4gIFdIRU5fUFJFVklPVVNfU1RBVEVfSVMgPSAnd2hlbl9wcmV2aW91c19zdGF0ZV9pcycsXG4gIFdIRU5fUFJFVklPVVNfU1RBVEVfSVNfTk9UID0gJ3doZW5fcHJldmlvdXNfc3RhdGVfaXNfbm90Jyxcbn1cblxuZXhwb3J0IGVudW0gVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbiB7XG4gIEFORCA9ICdhbmQnLFxuICBPUiA9ICdvcicsXG59XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBBbGlnbk1vZGUge1xuICBUQU1fVE9QX0xFRlQgPSAwLFxuICBUQU1fVE9QX0NFTlRFUiA9IDEsXG4gIFRBTV9UT1BfUklHSFQgPSAyLFxuICBUQU1fTUlERExFX0xFRlQgPSAzLFxuICBUQU1fTUlERExFX0NFTlRFUiA9IDQsXG4gIFRBTV9NSURETEVfUklHSFQgPSA1LFxuICBUQU1fQk9UVE9NX0xFRlQgPSA2LFxuICBUQU1fQk9UVE9NX0NFTlRFUiA9IDcsXG4gIFRBTV9CT1RUT01fUklHSFQgPSA4LFxufVxuXG4vLyBEZWZpbmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHVzaW5nIGZyb20gQGRjbC9lY3MgYmVjYXVzZSBTY2hlbWFzIGRvZXNuJ3Qgc3VwcG9ydCBjb25zdCBlbnVtc1xuZXhwb3J0IGVudW0gRm9udCB7XG4gIEZfU0FOU19TRVJJRiA9IDAsXG4gIEZfU0VSSUYgPSAxLFxuICBGX01PTk9TUEFDRSA9IDIsXG59XG5cbmV4cG9ydCB0eXBlIFNjcmVlbkFsaWduTW9kZSA9IHtcbiAgYWxpZ25JdGVtczogWUdBbGlnbjtcbiAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeTtcbn07XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBDb2xsaWRlcnMge1xuICAvKiogQ0xfTk9ORSAtIG5vIGNvbGxpc2lvbnMgKi9cbiAgQ0xfTk9ORSA9IDAsXG4gIC8qKiBDTF9QT0lOVEVSIC0gY29sbGlzaW9ucyB3aXRoIHRoZSBwbGF5ZXIncyBwb2ludGVyIHJheSAoZS5nLiBtb3VzZSBjdXJzb3IgaG92ZXJpbmcpICovXG4gIENMX1BPSU5URVIgPSAxLFxuICAvKiogQ0xfUEhZU0lDUyAtIGNvbGxpc2lvbiBhZmZlY3RpbmcgeW91ciBwbGF5ZXIncyBwaHlzaWNzIGkuZS4gd2FsbHMsIGZsb29yLCBtb3ZpbmcgcGxhdGZyb21zICovXG4gIENMX1BIWVNJQ1MgPSAyLFxuICBDTF9SRVNFUlZFRDEgPSA0LFxuICBDTF9SRVNFUlZFRDIgPSA4LFxuICBDTF9SRVNFUlZFRDMgPSAxNixcbiAgQ0xfUkVTRVJWRUQ0ID0gMzIsXG4gIENMX1JFU0VSVkVENSA9IDY0LFxuICBDTF9SRVNFUlZFRDYgPSAxMjgsXG4gIENMX0NVU1RPTTEgPSAyNTYsXG4gIENMX0NVU1RPTTIgPSA1MTIsXG4gIENMX0NVU1RPTTMgPSAxMDI0LFxuICBDTF9DVVNUT000ID0gMjA0OCxcbiAgQ0xfQ1VTVE9NNSA9IDQwOTYsXG4gIENMX0NVU1RPTTYgPSA4MTkyLFxuICBDTF9DVVNUT003ID0gMTYzODQsXG4gIENMX0NVU1RPTTggPSAzMjc2OCxcbn1cblxuLy8gRGVmaW5lZCB2YWx1ZXMgaW5zdGVhZCBvZiB1c2luZyBmcm9tIEBkY2wvZWNzIGJlY2F1c2UgU2NoZW1hcyBkb2Vzbid0IHN1cHBvcnQgY29uc3QgZW51bXNcbmV4cG9ydCBlbnVtIFRleHR1cmVNb3ZlbWVudFR5cGUge1xuICAvKiogZGVmYXVsdCA9IFRleHR1cmVNb3ZlbWVudFR5cGUuVE1UX09GRlNFVCAqL1xuICBUTVRfT0ZGU0VUID0gMCxcbiAgVE1UX1RJTElORyA9IDEsXG59XG5cbmV4cG9ydCBlbnVtIFByb3hpbWl0eUxheWVyIHtcbiAgQUxMID0gJ2FsbCcsXG4gIFBMQVlFUiA9ICdwbGF5ZXInLFxuICBOT05fUExBWUVSID0gJ25vbl9wbGF5ZXInLFxufVxuXG5leHBvcnQgZW51bSBBZG1pblBlcm1pc3Npb25zIHtcbiAgUFVCTElDID0gJ1BVQkxJQycsXG4gIFBSSVZBVEUgPSAnUFJJVkFURScsXG59XG5cbmV4cG9ydCBlbnVtIE1lZGlhU291cmNlIHtcbiAgVmlkZW9VUkwsXG4gIExpdmVTdHJlYW0sXG59XG4iXX0=
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksYUFhWDtBQWJELFdBQVksYUFBYTtJQUN2QiwwREFBeUMsQ0FBQTtJQUN6QyxpREFBZ0MsQ0FBQTtJQUNoQyxpREFBZ0MsQ0FBQTtJQUNoQyxtREFBa0MsQ0FBQTtJQUNsQywrQ0FBOEIsQ0FBQTtJQUM5Qix3REFBdUMsQ0FBQTtJQUN2Qyx3REFBdUMsQ0FBQTtJQUN2QywwREFBeUMsQ0FBQTtJQUN6QyxpREFBZ0MsQ0FBQTtJQUNoQyxzRUFBcUQsQ0FBQTtJQUNyRCx1RUFBc0QsQ0FBQTtJQUN0RCwrQ0FBOEIsQ0FBQTtBQUNoQyxDQUFDLEVBYlcsYUFBYSxLQUFiLGFBQWEsUUFheEI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLG9DQUF1QixDQUFBO0lBQ3ZCLHdDQUEyQixDQUFBO0lBQzNCLHNDQUF5QixDQUFBO0lBQ3pCLHNEQUF5QyxDQUFBO0FBQzNDLENBQUMsRUFMVyxTQUFTLEtBQVQsU0FBUyxRQUtwQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsaURBQWlDLENBQUE7SUFDakMscUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBaUJYO0FBakJELFdBQVksaUJBQWlCO0lBQzNCLHNDQUFpQixDQUFBO0lBQ2pCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLDBDQUFxQixDQUFBO0lBQ3JCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLCtDQUEwQixDQUFBO0lBQzFCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLCtDQUEwQixDQUFBO0lBQzFCLG9EQUErQixDQUFBO0lB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LHVEQUFnQixDQUFBO0lBQ2hCLHdEQUFpQixDQUFBO0lBQ2pCLHdEQUFpQixDQUFBO0lBQ2pCLHdEQUFpQixDQUFBO0lBQ2pCLHdEQUFpQixDQUFBO0lBQ2pCLHlEQUFrQixDQUFBO0lBQ2xCLHlEQUFrQixDQUFBO0FBQ3BCLENBQUMsRUFyQlcsU0FBUyxLQUFULFNBQVMsUUFxQnBCO0FBR0QsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUU3Qix5RUFBYyxDQUFBO0lBQ2QseUVBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsNkJBQVcsQ0FBQTtJQUNYLG1DQUFpQixDQUFBO0lBQ2pCLDJDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIscUNBQWlCLENBQUE7SUFDakIsdUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLHFEQUFRLENBQUE7SUFDUix5REFBVSxDQUFBO0FBQ1osQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBZR0FsaWduLCBZR0p1c3RpZnkgfSBmcm9tICdAZGNsL2Vjcyc7XG5cbmV4cG9ydCBlbnVtIENvbXBvbmVudE5hbWUge1xuICBBQ1RJT05fVFlQRVMgPSAnYXNzZXQtcGFja3M6OkFjdGlvblR5cGVzJyxcbiAgQUNUSU9OUyA9ICdhc3NldC1wYWNrczo6QWN0aW9ucycsXG4gIENPVU5URVIgPSAnYXNzZXQtcGFja3M6OkNvdW50ZXInLFxuICBUUklHR0VSUyA9ICdhc3NldC1wYWNrczo6VHJpZ2dlcnMnLFxuICBTVEFURVMgPSAnYXNzZXQtcGFja3M6OlN0YXRlcycsXG4gIENPVU5URVJfQkFSID0gJ2Fzc2V0LXBhY2tzOjpDb3VudGVyQmFyJyxcbiAgQURNSU5fVE9PTFMgPSAnYXNzZXQtcGFja3M6OkFkbWluVG9vbHMnLFxuICBWSURFT19TQ1JFRU4gPSAnYXNzZXQtcGFja3M6OlZpZGVvU2NyZWVuJyxcbiAgUkVXQVJEUyA9ICdhc3NldC1wYWNrczo6UmV3YXJkcycsXG4gIFRFWFRfQU5OT1VOQ0VNRU5UUyA9ICdhc3NldC1wYWNrczo6VGV4dEFubm91bmNlbWVudHMnLFxuICBWSURFT19DT05UUk9MX1NUQVRFID0gJ2Fzc2V0LXBhY2tzOjpWaWRlb0NvbnRyb2xTdGF0ZScsXG4gIFNDUklQVCA9ICdhc3NldC1wYWNrczo6U2NyaXB0Jyxcbn1cblxuZXhwb3J0IGVudW0gVHdlZW5UeXBlIHtcbiAgTU9WRV9JVEVNID0gJ21vdmVfaXRlbScsXG4gIFJPVEFURV9JVEVNID0gJ3JvdGF0ZV9pdGVtJyxcbiAgU0NBTEVfSVRFTSA9ICdzY2FsZV9pdGVtJyxcbiAgS0VFUF9ST1RBVElOR19JVEVNID0gJ2tlZXBfcm90YXRpbmdfaXRlbScsXG59XG5cbmV4cG9ydCBlbnVtIFRlbGVwb3J0TW9kZSB7XG4gIFRPX0NPT1JESU5BVEVTID0gJ3RvX2Nvb3JkaW5hdGVzJyxcbiAgVE9fV09STEQgPSAndG9fd29ybGQnLFxufVxuXG5leHBvcnQgZW51bSBJbnRlcnBvbGF0aW9uVHlwZSB7XG4gIExJTkVBUiA9ICdsaW5lYXInLFxuICBFQVNFSU5RVUFEID0gJ2Vhc2VpbnF1YWQnLFxuICBFQVNFT1VUUVVBRCA9ICdlYXNlb3V0cXVhZCcsXG4gIEVBU0VRVUFEID0gJ2Vhc2VxdWFkJyxcbiAgRUFTRUlOU0lORSA9ICdlYXNlaW5zaW5lJyxcbiAgRUFTRU9VVFNJTkUgPSAnZWFzZW91dHNpbmUnLFxuICBFQVNFU0lORSA9ICdlYXNlaW5vdXRzaW5lJyxcbiAgRUFTRUlORVhQTyA9ICdlYXNlaW5leHBvJyxcbiAgRUFTRU9VVEVYUE8gPSAnZWFzZW91dGV4cG8nLFxuICBFQVNFRVhQTyA9ICdlYXNlaW5vdXRleHBvJyxcbiAgRUFTRUlORUxBU1RJQyA9ICdlYXNlaW5lbGFzdGljJyxcbiAgRUFTRU9VVEVMQVNUSUMgPSAnZWFzZW91dGVsYXN0aWMnLFxuICBFQVNFRUxBU1RJQyA9ICdlYXNlaW5vdXRlbGFzdGljJyxcbiAgRUFTRUlOQk9VTkNFID0gJ2Vhc2VpbmJvdW5jZScsXG4gIEVBU0VPVVRFQk9VTkNFID0gJ2Vhc2VvdXRib3VuY2UnLFxuICBFQVNFQk9VTkNFID0gJ2Vhc2Vpbm91dGJvdW5jZScsXG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvblR5cGUge1xuICBQTEFZX0FOSU1BVElPTiA9ICdwbGF5X2FuaW1hdGlvbicsXG4gIFNUT1BfQU5JTUFUSU9OID0gJ3N0b3BfYW5pbWF0aW9uJyxcbiAgU0VUX1NUQVRFID0gJ3NldF9zdGF0ZScsXG4gIFNUQVJUX1RXRUVOID0gJ3N0YXJ0X3R3ZWVuJyxcbiAgU0VUX0NPVU5URVIgPSAnc2V0X2NvdW50ZXInLFxuICBJTkNSRU1FTlRfQ09VTlRFUiA9ICdpbmNyZW1lbnRfY291bnRlcicsXG4gIERFQ1JFQVNFX0NPVU5URVIgPSAnZGVjcmVhc2VfY291bnRlcicsXG4gIFBMQVlfU09VTkQgPSAncGxheV9zb3VuZCcsXG4gIFNUT1BfU09VTkQgPSAnc3RvcF9zb3VuZCcsXG4gIFNFVF9WSVNJQklMSVRZID0gJ3NldF92aXNpYmlsaXR5JyxcbiAgQVRUQUNIX1RPX1BMQVlFUiA9ICdhdHRhY2hfdG9fcGxheWVyJyxcbiAgREVUQUNIX0ZST01fUExBWUVSID0gJ2RldGFjaF9mcm9tX3BsYXllcicsXG4gIFBMQVlfVklERU9fU1RSRUFNID0gJ3BsYXlfdmlkZW9fc3RyZWFtJyxcbiAgU1RPUF9WSURFT19TVFJFQU0gPSAnc3RvcF92aWRlb19zdHJlYW0nLFxuICBQTEFZX0FVRElPX1NUUkVBTSA9ICdwbGF5X2F1ZGlvX3N0cmVhbScsXG4gIFNUT1BfQVVESU9fU1RSRUFNID0gJ3N0b3BfYXVkaW9fc3RyZWFtJyxcbiAgVEVMRVBPUlRfUExBWUVSID0gJ3RlbGVwb3J0X3BsYXllcicsXG4gIE1PVkVfUExBWUVSID0gJ21vdmVfcGxheWVyJyxcbiAgUExBWV9ERUZBVUxUX0VNT1RFID0gJ3BsYXlfZGVmYXVsdF9lbW90ZScsXG4gIFBMQVlfQ1VTVE9NX0VNT1RFID0gJ3BsYXlfY3VzdG9tX2Vtb3RlJyxcbiAgT1BFTl9MSU5LID0gJ29wZW5fbGluaycsXG4gIFNIT1dfVEVYVCA9ICdzaG93X3RleHQnLFxuICBISURFX1RFWFQgPSAnaGlkZV90ZXh0JyxcbiAgU1RBUlRfREVMQVkgPSAnc3RhcnRfZGVsYXknLFxuICBTVE9QX0RFTEFZID0gJ3N0b3BfZGVsYXknLFxuICBTVEFSVF9MT09QID0gJ3N0YXJ0X2xvb3AnLFxuICBTVE9QX0xPT1AgPSAnc3RvcF9sb29wJyxcbiAgQ0xPTkVfRU5USVRZID0gJ2Nsb25lX2VudGl0eScsXG4gIFJFTU9WRV9FTlRJVFkgPSAncmVtb3ZlX2VudGl0eScsXG4gIFNIT1dfSU1BR0UgPSAnc2hvd19pbWFnZScsXG4gIEhJREVfSU1BR0UgPSAnaGlkZV9pbWFnZScsXG4gIERBTUFHRSA9ICdkYW1hZ2UnLFxuICBNT1ZFX1BMQVlFUl9IRVJFID0gJ21vdmVfcGxheWVyX2hlcmUnLFxuICBQTEFZRVJfRkFDRV9JVEVNID0gJ3BsYXllcl9mYWNlX2l0ZW0nLFxuICBQTEFDRV9PTl9QTEFZRVIgPSAncGxhY2Vfb25fcGxheWVyJyxcbiAgUk9UQVRFX0FTX1BMQVlFUiA9ICdyb3RhdGVfYXNfcGxheWVyJyxcbiAgUExBQ0VfT05fQ0FNRVJBID0gJ3BsYWNlX29uX2NhbWVyYScsXG4gIFJPVEFURV9BU19DQU1FUkEgPSAncm90YXRlX2FzX2NhbWVyYScsXG4gIFNFVF9QT1NJVElPTiA9ICdzZXRfcG9zaXRpb24nLFxuICBTRVRfUk9UQVRJT04gPSAnc2V0X3JvdGF0aW9uJyxcbiAgU0VUX1NDQUxFID0gJ3NldF9zY2FsZScsXG4gIEZPTExPV19QTEFZRVIgPSAnZm9sbG93X3BsYXllcicsXG4gIFNUT1BfRk9MTE9XSU5HX1BMQVlFUiA9ICdzdG9wX2ZvbGxvd2luZ19wbGF5ZXInLFxuICBSQU5ET00gPSAncmFuZG9tJyxcbiAgQkFUQ0ggPSAnYmF0Y2gnLFxuICBIRUFMX1BMQVlFUiA9ICdoZWFsX3BsYXllcicsXG4gIENMQUlNX0FJUkRST1AgPSAnY2xhaW1fYWlyZHJvcCcsXG4gIExJR0hUU19PTiA9ICdsaWdodHNfb24nLFxuICBMSUdIVFNfT0ZGID0gJ2xpZ2h0c19vZmYnLFxuICBMSUdIVFNfTU9ESUZZID0gJ2xpZ2h0c19tb2RpZnknLFxuICBDSEFOR0VfQ0FNRVJBID0gJ2NoYW5nZV9jYW1lcmEnLFxuICBDSEFOR0VfVEVYVCA9ICdjaGFuZ2VfdGV4dCcsXG4gIFNUT1BfVFdFRU4gPSAnc3RvcF90d2VlbicsXG4gIFNMSURFX1RFWFRVUkUgPSAnc2xpZGVfdGV4dHVyZScsXG4gIEZSRUVaRV9QTEFZRVIgPSAnZnJlZXplX3BsYXllcicsXG4gIFVORlJFRVpFX1BMQVlFUiA9ICd1bmZyZWV6ZV9wbGF5ZXInLFxuICBDSEFOR0VfQ09MTElTSU9OUyA9ICdjaGFuZ2VfY29sbGlzaW9ucycsXG4gIENIQU5HRV9TS1lCT1ggPSAnY2hhbmdlX3NreWJveCcsXG4gIFJFU0VUX1NLWUJPWCA9ICdyZXNldF9za3lib3gnLFxuICBDQUxMX1NDUklQVF9NRVRIT0QgPSAnY2FsbF9zY3JpcHRfbWV0aG9kJyxcbiAgTE9HX1RPX0NPTlNPTEUgPSAnbG9nX3RvX2NvbnNvbGUnLFxuICBERUxFVEUgPSAnZGVsZXRlJyxcbn1cblxuZXhwb3J0IGVudW0gVHJpZ2dlclR5cGUge1xuICAvKiogQGRlcHJlY2F0ZWQgdXNlIE9OX0lOUFVUX0FDVElPTiBpbnN0ZWFkICovXG4gIE9OX0NMSUNLID0gJ29uX2NsaWNrJyxcbiAgT05fSU5QVVRfQUNUSU9OID0gJ29uX2lucHV0X2FjdGlvbicsXG4gIE9OX1NUQVRFX0NIQU5HRSA9ICdvbl9zdGF0ZV9jaGFuZ2UnLFxuICBPTl9TUEFXTiA9ICdvbl9zcGF3bicsXG4gIE9OX1RXRUVOX0VORCA9ICdvbl90d2Vlbl9lbmQnLFxuICBPTl9DT1VOVEVSX0NIQU5HRSA9ICdvbl9jb3VudGVyX2NoYW5nZScsXG4gIE9OX1BMQVlFUl9FTlRFUlNfQVJFQSA9ICdvbl9wbGF5ZXJfZW50ZXJzX2FyZWEnLFxuICBPTl9QTEFZRVJfTEVBVkVTX0FSRUEgPSAnb25fcGxheWVyX2xlYXZlc19hcmVhJyxcbiAgT05fREVMQVkgPSAnb25fZGVsYXknLFxuICBPTl9MT09QID0gJ29uX2xvb3AnLFxuICBPTl9DTE9ORSA9ICdvbl9jbG9uZScsXG4gIE9OX0NMSUNLX0lNQUdFID0gJ29uX2NsaWNrX2ltYWdlJyxcbiAgT05fREFNQUdFID0gJ29uX2RhbWFnZScsXG4gIE9OX0dMT0JBTF9DTElDSyA9ICdvbl9nbG9iYWxfY2xpY2snLFxuICBPTl9HTE9CQUxfUFJJTUFSWSA9ICdvbl9nbG9iYWxfcHJpbWFyeScsXG4gIE9OX0dMT0JBTF9TRUNPTkRBUlkgPSAnb25fZ2xvYmFsX3NlY29uZGFyeScsXG4gIE9OX1RJQ0sgPSAnb25fdGljaycsXG4gIE9OX0hFQUxfUExBWUVSID0gJ29uX2hlYWxfcGxheWVyJyxcbiAgT05fUExBWUVSX1NQQVdOID0gJ29uX3BsYXllcl9zcGF3bicsXG59XG5cbmV4cG9ydCBlbnVtIFRyaWdnZXJDb25kaXRpb25UeXBlIHtcbiAgV0hFTl9TVEFURV9JUyA9ICd3aGVuX3N0YXRlX2lzJyxcbiAgV0hFTl9TVEFURV9JU19OT1QgPSAnd2hlbl9zdGF0ZV9pc19ub3QnLFxuICBXSEVOX0NPVU5URVJfRVFVQUxTID0gJ3doZW5fY291bnRlcl9lcXVhbHMnLFxuICBXSEVOX0NPVU5URVJfSVNfR1JFQVRFUl9USEFOID0gJ3doZW5fY291bnRlcl9pc19ncmVhdGVyX3RoYW4nLFxuICBXSEVOX0NPVU5URVJfSVNfTEVTU19USEFOID0gJ3doZW5fY291bnRlcl9pc19sZXNzX3RoYW4nLFxuICBXSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9MRVNTX1RIQU4gPSAnd2hlbl9kaXN0YW5jZV90b19wbGF5ZXJfbGVzc190aGFuJyxcbiAgV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfR1JFQVRFUl9USEFOID0gJ3doZW5fZGlzdGFuY2VfdG9fcGxheWVyX2dyZWF0ZXJfdGhhbicsXG4gIFdIRU5fUFJFVklPVVNfU1RBVEVfSVMgPSAnd2hlbl9wcmV2aW91c19zdGF0ZV9pcycsXG4gIFdIRU5fUFJFVklPVVNfU1RBVEVfSVNfTk9UID0gJ3doZW5fcHJldmlvdXNfc3RhdGVfaXNfbm90Jyxcbn1cblxuZXhwb3J0IGVudW0gVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbiB7XG4gIEFORCA9ICdhbmQnLFxuICBPUiA9ICdvcicsXG59XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBBbGlnbk1vZGUge1xuICBUQU1fVE9QX0xFRlQgPSAwLFxuICBUQU1fVE9QX0NFTlRFUiA9IDEsXG4gIFRBTV9UT1BfUklHSFQgPSAyLFxuICBUQU1fTUlERExFX0xFRlQgPSAzLFxuICBUQU1fTUlERExFX0NFTlRFUiA9IDQsXG4gIFRBTV9NSURETEVfUklHSFQgPSA1LFxuICBUQU1fQk9UVE9NX0xFRlQgPSA2LFxuICBUQU1fQk9UVE9NX0NFTlRFUiA9IDcsXG4gIFRBTV9CT1RUT01fUklHSFQgPSA4LFxufVxuXG4vLyBEZWZpbmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHVzaW5nIGZyb20gQGRjbC9lY3MgYmVjYXVzZSBTY2hlbWFzIGRvZXNuJ3Qgc3VwcG9ydCBjb25zdCBlbnVtc1xuZXhwb3J0IGVudW0gRm9udCB7XG4gIEZfU0FOU19TRVJJRiA9IDAsXG4gIEZfU0VSSUYgPSAxLFxuICBGX01PTk9TUEFDRSA9IDIsXG59XG5cbmV4cG9ydCB0eXBlIFNjcmVlbkFsaWduTW9kZSA9IHtcbiAgYWxpZ25JdGVtczogWUdBbGlnbjtcbiAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeTtcbn07XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBDb2xsaWRlcnMge1xuICAvKiogQ0xfTk9ORSAtIG5vIGNvbGxpc2lvbnMgKi9cbiAgQ0xfTk9ORSA9IDAsXG4gIC8qKiBDTF9QT0lOVEVSIC0gY29sbGlzaW9ucyB3aXRoIHRoZSBwbGF5ZXIncyBwb2ludGVyIHJheSAoZS5nLiBtb3VzZSBjdXJzb3IgaG92ZXJpbmcpICovXG4gIENMX1BPSU5URVIgPSAxLFxuICAvKiogQ0xfUEhZU0lDUyAtIGNvbGxpc2lvbiBhZmZlY3RpbmcgeW91ciBwbGF5ZXIncyBwaHlzaWNzIGkuZS4gd2FsbHMsIGZsb29yLCBtb3ZpbmcgcGxhdGZyb21zICovXG4gIENMX1BIWVNJQ1MgPSAyLFxuICBDTF9SRVNFUlZFRDEgPSA0LFxuICBDTF9SRVNFUlZFRDIgPSA4LFxuICBDTF9SRVNFUlZFRDMgPSAxNixcbiAgQ0xfUkVTRVJWRUQ0ID0gMzIsXG4gIENMX1JFU0VSVkVENSA9IDY0LFxuICBDTF9SRVNFUlZFRDYgPSAxMjgsXG4gIENMX0NVU1RPTTEgPSAyNTYsXG4gIENMX0NVU1RPTTIgPSA1MTIsXG4gIENMX0NVU1RPTTMgPSAxMDI0LFxuICBDTF9DVVNUT000ID0gMjA0OCxcbiAgQ0xfQ1VTVE9NNSA9IDQwOTYsXG4gIENMX0NVU1RPTTYgPSA4MTkyLFxuICBDTF9DVVNUT003ID0gMTYzODQsXG4gIENMX0NVU1RPTTggPSAzMjc2OCxcbn1cblxuLy8gRGVmaW5lZCB2YWx1ZXMgaW5zdGVhZCBvZiB1c2luZyBmcm9tIEBkY2wvZWNzIGJlY2F1c2UgU2NoZW1hcyBkb2Vzbid0IHN1cHBvcnQgY29uc3QgZW51bXNcbmV4cG9ydCBlbnVtIFRleHR1cmVNb3ZlbWVudFR5cGUge1xuICAvKiogZGVmYXVsdCA9IFRleHR1cmVNb3ZlbWVudFR5cGUuVE1UX09GRlNFVCAqL1xuICBUTVRfT0ZGU0VUID0gMCxcbiAgVE1UX1RJTElORyA9IDEsXG59XG5cbmV4cG9ydCBlbnVtIFByb3hpbWl0eUxheWVyIHtcbiAgQUxMID0gJ2FsbCcsXG4gIFBMQVlFUiA9ICdwbGF5ZXInLFxuICBOT05fUExBWUVSID0gJ25vbl9wbGF5ZXInLFxufVxuXG5leHBvcnQgZW51bSBBZG1pblBlcm1pc3Npb25zIHtcbiAgUFVCTElDID0gJ1BVQkxJQycsXG4gIFBSSVZBVEUgPSAnUFJJVkFURScsXG59XG5cbmV4cG9ydCBlbnVtIE1lZGlhU291cmNlIHtcbiAgVmlkZW9VUkwsXG4gIExpdmVTdHJlYW0sXG59XG4iXX0=
|
package/dist/triggers.js
CHANGED
|
@@ -286,11 +286,15 @@ export function createTriggersSystem(engine, components, pointerEventsSystem, tw
|
|
|
286
286
|
}
|
|
287
287
|
function initOnPlayerTriggerArea(entity) {
|
|
288
288
|
TriggerArea.setBox(entity);
|
|
289
|
-
triggerAreaEventsSystem.onTriggerEnter(entity, function (
|
|
289
|
+
triggerAreaEventsSystem.onTriggerEnter(entity, function (result) {
|
|
290
|
+
if (result.trigger?.entity !== engine.PlayerEntity)
|
|
291
|
+
return;
|
|
290
292
|
const triggerEvents = getTriggerEvents(entity);
|
|
291
293
|
triggerEvents.emit(TriggerType.ON_PLAYER_ENTERS_AREA);
|
|
292
294
|
});
|
|
293
|
-
triggerAreaEventsSystem.onTriggerExit(entity, function (
|
|
295
|
+
triggerAreaEventsSystem.onTriggerExit(entity, function (result) {
|
|
296
|
+
if (result.trigger?.entity !== engine.PlayerEntity)
|
|
297
|
+
return;
|
|
294
298
|
const triggerEvents = getTriggerEvents(entity);
|
|
295
299
|
triggerEvents.emit(TriggerType.ON_PLAYER_LEAVES_AREA);
|
|
296
300
|
});
|
|
@@ -331,4 +335,4 @@ export function createTriggersSystem(engine, components, pointerEventsSystem, tw
|
|
|
331
335
|
}
|
|
332
336
|
}
|
|
333
337
|
}
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJpZ2dlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUVMLFVBQVUsRUFFVixXQUFXLEVBQ1gsdUJBQXVCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBUWhFLE9BQU8sRUFDTCxhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsZ0NBQWdDLEVBQ2hDLGFBQWEsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQUN6QyxNQUFNLFdBQVcsR0FBeUMsRUFBRSxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0FBRTdDLElBQUksb0JBQW9CLEdBQXNDLElBQUksQ0FBQztBQUVuRSxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWM7SUFDekMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztBQUN4RixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxNQUFlLEVBQ2YsVUFBNEIsRUFDNUIsbUJBQXdDLEVBQ3hDLFdBQXdCO0lBRXhCLE1BQU0sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUM1RCxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBR3JFLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO0lBRTFDLE9BQU8sU0FBUyxjQUFjLENBQUMsR0FBVztRQUV4QyxPQUFPLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsS0FBSyxFQUFHLENBQUM7WUFDaEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxRSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1lBQzVDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNCLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixTQUFTLGtCQUFrQixDQUFDLE1BQWM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3hELE9BQU87UUFDVCxDQUFDO1FBR0QsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUd0QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDakMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDM0MsSUFBSSxHQUFHLEVBQWUsQ0FDdkIsQ0FBQztRQUNGLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsUUFBUSxJQUFJLEVBQUUsQ0FBQztnQkFFYixLQUFLLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUMxQixrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDM0IsTUFBTTtnQkFDUixDQUFDO2dCQUNELEtBQUssV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7b0JBQ2pDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNqQyxNQUFNO2dCQUNSLENBQUM7Z0JBQ0QsS0FBSyxXQUFXLENBQUMscUJBQXFCLENBQUM7Z0JBQ3ZDLEtBQUssV0FBVyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztvQkFDdkMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ2hDLE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxLQUFLLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUMzQixZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxLQUFLLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO29CQUNoQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDekIsTUFBTTtnQkFDUixDQUFDO2dCQUNELEtBQUssV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7b0JBQ2pDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN6QixNQUFNO2dCQUNSLENBQUM7Z0JBQ0QsS0FBSyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO29CQUNuQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDNUIsTUFBTTtnQkFDUixDQUFDO2dCQUNELEtBQUssV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztvQkFDckMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzlCLE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxLQUFLLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUN6QixVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ25CLE1BQU07Z0JBQ1IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBR0QsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsS0FBSyxNQUFNLGFBQWEsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQzVDLElBQUksYUFBYSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7NEJBQ2pDLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDOzRCQUNoRCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dDQUNYLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQzFDLElBQUksT0FBTyxFQUFFLENBQUM7b0NBQ1osTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQ0FDdEUsSUFBSSxNQUFNLEVBQUUsQ0FBQzt3Q0FHWCxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7b0NBQ3ZDLENBQUM7Z0NBQ0gsQ0FBQzs0QkFDSCxDQUFDO3dCQUNILENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFekMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsU0FBUyxhQUFhLENBQUMsTUFBcUI7UUFDMUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDNUIsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELFNBQVMsZUFBZSxDQUFDLE9BQW9DO1FBQzNELElBQUksT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4RCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSx5QkFBeUIsQ0FBQyxHQUFHLENBQUM7WUFDckUsUUFBUSxTQUFTLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNuQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7Z0JBQ0QsS0FBSyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNsQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFNBQVMsY0FBYyxDQUFDLFNBQTJCO1FBQ2pELE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUM7Z0JBQ0gsUUFBUSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3ZCLEtBQUssb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzt3QkFDeEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDeEMsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7NEJBQ3BCLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDN0MsT0FBTyxZQUFZLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQzt3QkFDMUMsQ0FBQzt3QkFDRCxNQUFNO29CQUNSLENBQUM7b0JBQ0QsS0FBSyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7d0JBQzVDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3hDLElBQUksTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDOzRCQUNwQixNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQzdDLE9BQU8sWUFBWSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7d0JBQzFDLENBQUM7d0JBQ0QsTUFBTTtvQkFDUixDQUFDO29CQUNELEtBQUssb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO3dCQUNqRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUN4QyxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQzs0QkFDcEIsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQy9DLE9BQU8sYUFBYSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7d0JBQzNDLENBQUM7d0JBQ0QsTUFBTTtvQkFDUixDQUFDO29CQUNELEtBQUssb0JBQW9CLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO3dCQUNyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUN4QyxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQzs0QkFDcEIsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQy9DLE9BQU8sYUFBYSxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7d0JBQzNDLENBQUM7d0JBQ0QsTUFBTTtvQkFDUixDQUFDO29CQUNELEtBQUssb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO3dCQUM5QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQzs0QkFDckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dDQUNwQixPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDOzRCQUNuQyxDQUFDO3dCQUNILENBQUM7d0JBQ0QsTUFBTTtvQkFDUixDQUFDO29CQUNELEtBQUssb0JBQW9CLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO3dCQUN2RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQzs0QkFDckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dDQUNwQixPQUFPLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDOzRCQUNqQyxDQUFDO3dCQUNILENBQUM7d0JBQ0QsTUFBTTtvQkFDUixDQUFDO29CQUNELEtBQUssb0JBQW9CLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO3dCQUNwRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQzs0QkFDckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dDQUNwQixPQUFPLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDOzRCQUNqQyxDQUFDO3dCQUNILENBQUM7d0JBQ0QsTUFBTTtvQkFDUixDQUFDO29CQUNELEtBQUssb0JBQW9CLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDO3dCQUM1RCxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFFMUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDOzRCQUNwQixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7d0JBQ25FLENBQUM7d0JBRUQsTUFBTTtvQkFDUixDQUFDO29CQUNELEtBQUssb0JBQW9CLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDO3dCQUMvRCxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDOzRCQUNwQixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7d0JBQ25FLENBQUM7d0JBQ0QsTUFBTTtvQkFDUixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2pELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsU0FBUyxhQUFhLENBQTJCLGFBQXFCLEVBQUUsRUFBVTtRQUNoRixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUNuQyxhQUFhLENBQ2tDLENBQUM7UUFDbEQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkUsQ0FBQztJQUVELFNBQVMsaUJBQWlCLENBQUMsTUFBcUI7UUFDOUMsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDZCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDL0QsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFNBQVMsb0JBQW9CLENBQUMsU0FBMkI7UUFDdkQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7YUFDL0MsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQixhQUFhO1lBQ2IsY0FBYyxFQUFFLGdDQUFnQyxDQUFDLGFBQWEsQ0FBQztTQUNoRSxDQUFDLENBQUM7YUFDRixNQUFNLENBQ0wsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUM1QyxjQUFjLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQ2xFLElBQUksQ0FDTCxDQUFDO1FBQ0osSUFBSSxhQUFhLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFELElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFJRCxTQUFTLGtCQUFrQixDQUFDLE1BQWM7UUFDeEMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELElBQUksSUFBSSxHQUFHLEVBQUUsTUFBTSxHQUF3QixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVsRSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBSWpCLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUN4RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQ3pDLENBQUM7WUFDRixJQUFJLGFBQWEsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN6QixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDdEUsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQztnQkFDakMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDO1FBRUQsbUJBQW1CLENBQUMsYUFBYSxDQUMvQjtZQUNFLE1BQU07WUFDTixJQUFJO1NBQ0wsRUFDRCxHQUFHLEVBQUU7WUFDSCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFHRCxTQUFTLHdCQUF3QixDQUFDLE1BQWM7UUFDOUMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELElBQUksSUFBSSxHQUFHLEVBQUUsTUFBTSxHQUF3QixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVsRSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBSWpCLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUN4RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQ3pDLENBQUM7WUFDRixJQUFJLGFBQWEsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN6QixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDdEUsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQztnQkFDakMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDO1FBRUQsbUJBQW1CLENBQUMsYUFBYSxDQUMvQjtZQUNFLE1BQU07WUFDTixJQUFJO1NBQ0wsRUFDRCxHQUFHLEVBQUU7WUFDSCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFHRCxTQUFTLHVCQUF1QixDQUFDLE1BQWM7UUFDN0MsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQix1QkFBdUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVUsT0FBTztZQUM5RCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO1FBRUgsdUJBQXVCLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxVQUFVLE9BQU87WUFDN0QsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0MsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLFlBQVksQ0FBQyxNQUFjO1FBQ2xDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsZ0JBQWdCLENBQUMsTUFBYztRQUN0QyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTLGdCQUFnQixDQUFDLE1BQWM7UUFDdEMsa0JBQWtCLENBQUMsRUFBRSxJQUF5QixHQUFHLEVBQUU7WUFDakQsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0MsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxtQkFBbUIsQ0FBQyxNQUFjO1FBQ3pDLGtCQUFrQixDQUFDLEVBQUUsSUFBeUIsR0FBRyxFQUFFO1lBQ2pELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxxQkFBcUIsQ0FBQyxNQUFjO1FBQzNDLGtCQUFrQixDQUFDLEVBQUUsSUFBMkIsR0FBRyxFQUFFO1lBQ25ELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxVQUFVLENBQUMsTUFBYztRQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFHRCxTQUFTLGdCQUFnQixDQUFDLE1BQWM7UUFDdEMsSUFDRSxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssTUFBa0M7WUFDckUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDbEMsQ0FBQztZQUNELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgSUVuZ2luZSxcbiAgRW50aXR5LFxuICBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbixcbiAgRGVlcFJlYWRvbmx5T2JqZWN0LFxuICBQb2ludGVyRXZlbnRzU3lzdGVtLFxuICBUd2VlblN5c3RlbSxcbn0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHtcbiAgSW5wdXRBY3Rpb24sXG4gIFR3ZWVuU3RhdGUsXG4gIFR3ZWVuU3RhdGVTdGF0dXMsXG4gIFRyaWdnZXJBcmVhLFxuICB0cmlnZ2VyQXJlYUV2ZW50c1N5c3RlbSxcbn0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHsgVmVjdG9yMyB9IGZyb20gJ0BkY2wvc2RrL21hdGgnO1xuaW1wb3J0IHsgZ2V0UGxheWVyUG9zaXRpb24sIGdldFdvcmxkUG9zaXRpb24gfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHR5cGUge1xuICBBY3Rpb24sXG4gIFRyaWdnZXIsXG4gIFRyaWdnZXJBY3Rpb24sXG4gIFRyaWdnZXJDb25kaXRpb24sXG4gIEVuZ2luZUNvbXBvbmVudHMsXG59IGZyb20gJy4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50TmFtZSxcbiAgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbixcbiAgVHJpZ2dlckNvbmRpdGlvblR5cGUsXG4gIFRyaWdnZXJUeXBlLFxuICBnZXRDb25kaXRpb25UeXBlc0J5Q29tcG9uZW50TmFtZSxcbiAgZ2V0Q29tcG9uZW50cyxcbn0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBnZXRDdXJyZW50VmFsdWUsIGdldFByZXZpb3VzVmFsdWUgfSBmcm9tICcuL3N0YXRlcyc7XG5pbXBvcnQgeyBnZXRBY3Rpb25FdmVudHMsIGdldFRyaWdnZXJFdmVudHMgfSBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyBnZXRQYXlsb2FkIH0gZnJvbSAnLi9hY3Rpb24tdHlwZXMnO1xuaW1wb3J0IHsgZ2xvYmFsSW5wdXRBY3Rpb25zIH0gZnJvbSAnLi9pbnB1dC1hY3Rpb25zJztcbmltcG9ydCB7IHRpY2tTZXQgfSBmcm9tICcuL3RpbWVyJztcblxuY29uc3QgaW5pdGVkRW50aXRpZXMgPSBuZXcgU2V0PEVudGl0eT4oKTtcbmNvbnN0IGFjdGlvblF1ZXVlOiB7IGVudGl0eTogRW50aXR5OyBhY3Rpb246IEFjdGlvbiB9W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IGRhbWFnZVRhcmdldHMgPSBuZXcgU2V0PEVudGl0eT4oKTtcbmV4cG9ydCBjb25zdCBoZWFsVGFyZ2V0cyA9IG5ldyBTZXQ8RW50aXR5PigpO1xuXG5sZXQgaW50ZXJuYWxJbml0VHJpZ2dlcnM6ICgoZW50aXR5OiBFbnRpdHkpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0VHJpZ2dlcnMoZW50aXR5OiBFbnRpdHkpIHtcbiAgaWYgKGludGVybmFsSW5pdFRyaWdnZXJzKSB7XG4gICAgcmV0dXJuIGludGVybmFsSW5pdFRyaWdnZXJzKGVudGl0eSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgY2FsbCBpbml0VHJpZ2dlcnMgd2hpbGUgdHJpZ2dlcnNTeXN0ZW0gaGFzIG5vdCBiZWVuIGNyZWF0ZWQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyaWdnZXJzU3lzdGVtKFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIGNvbXBvbmVudHM6IEVuZ2luZUNvbXBvbmVudHMsXG4gIHBvaW50ZXJFdmVudHNTeXN0ZW06IFBvaW50ZXJFdmVudHNTeXN0ZW0sXG4gIHR3ZWVuU3lzdGVtOiBUd2VlblN5c3RlbSxcbikge1xuICBjb25zdCB7IFR3ZWVuOiBUd2VlbkNvbXBvbmVudCwgUG9pbnRlckV2ZW50cyB9ID0gY29tcG9uZW50cztcbiAgY29uc3QgeyBBY3Rpb25zLCBTdGF0ZXMsIENvdW50ZXIsIFRyaWdnZXJzIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSk7XG5cbiAgLy8gc2F2ZSByZWZlcmVuY2UgdG8gdGhlIGluaXQgZnVuY3Rpb25cbiAgaW50ZXJuYWxJbml0VHJpZ2dlcnMgPSBpbml0RW50aXR5VHJpZ2dlcnM7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIHRyaWdnZXJzU3lzdGVtKF9kdDogbnVtYmVyKSB7XG4gICAgLy8gcHJvY2VzcyBhY3Rpb24gcXVldWVcbiAgICB3aGlsZSAoYWN0aW9uUXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgeyBlbnRpdHksIGFjdGlvbiB9ID0gYWN0aW9uUXVldWUuc2hpZnQoKSE7XG4gICAgICBjb25zdCBhY3Rpb25FdmVudHMgPSBnZXRBY3Rpb25FdmVudHMoZW50aXR5KTtcbiAgICAgIGFjdGlvbkV2ZW50cy5lbWl0KGFjdGlvbi5uYW1lLCBnZXRQYXlsb2FkKGFjdGlvbikpO1xuICAgIH1cblxuICAgIGNvbnN0IGVudGl0aWVzV2l0aFRyaWdnZXJzID0gQXJyYXkuZnJvbShlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKFRyaWdnZXJzKSk7XG4gICAgZm9yIChjb25zdCBbZW50aXR5XSBvZiBlbnRpdGllc1dpdGhUcmlnZ2Vycykge1xuICAgICAgaW5pdEVudGl0eVRyaWdnZXJzKGVudGl0eSk7XG4gICAgICBoYW5kbGVPblR3ZWVuRW5kKGVudGl0eSk7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIGluaXRFbnRpdHlUcmlnZ2VycyhlbnRpdHk6IEVudGl0eSkge1xuICAgIGlmICghVHJpZ2dlcnMuaGFzKGVudGl0eSkgfHwgaW5pdGVkRW50aXRpZXMuaGFzKGVudGl0eSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBnZXQgdHJpZ2dlcnMgZGF0YVxuICAgIGNvbnN0IHRyaWdnZXJzID0gVHJpZ2dlcnMuZ2V0KGVudGl0eSk7XG5cbiAgICAvLyBpbml0aWFsaXplIHRyaWdnZXJzIGZvciBnaXZlbiBlbnRpdHlcbiAgICBjb25zdCB0eXBlcyA9IHRyaWdnZXJzLnZhbHVlLnJlZHVjZShcbiAgICAgICh0eXBlcywgdHJpZ2dlcikgPT4gdHlwZXMuYWRkKHRyaWdnZXIudHlwZSksXG4gICAgICBuZXcgU2V0PFRyaWdnZXJUeXBlPigpLFxuICAgICk7XG4gICAgZm9yIChjb25zdCB0eXBlIG9mIHR5cGVzKSB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgLyoqIEBkZXByZWNhdGVkIHVzZSBPTl9JTlBVVF9BQ1RJT04gaW5zdGVhZCAqL1xuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX0NMSUNLOiB7XG4gICAgICAgICAgaW5pdE9uQ2xpY2tUcmlnZ2VyKGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9JTlBVVF9BQ1RJT046IHtcbiAgICAgICAgICBpbml0T25JbnB1dEFjdGlvblRyaWdnZXIoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX1BMQVlFUl9FTlRFUlNfQVJFQTpcbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9QTEFZRVJfTEVBVkVTX0FSRUE6IHtcbiAgICAgICAgICBpbml0T25QbGF5ZXJUcmlnZ2VyQXJlYShlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fREFNQUdFOiB7XG4gICAgICAgICAgaW5pdE9uRGFtYWdlKGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9IRUFMX1BMQVlFUjoge1xuICAgICAgICAgIGluaXRPbkhlYWxQbGF5ZXIoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX0dMT0JBTF9DTElDSzoge1xuICAgICAgICAgIGluaXRPbkdsb2JhbENpY2soZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX0dMT0JBTF9QUklNQVJZOiB7XG4gICAgICAgICAgaW5pdE9uR2xvYmFsUHJpbWFyeShlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fR0xPQkFMX1NFQ09OREFSWToge1xuICAgICAgICAgIGluaXRPbkdsb2JhbFNlY29uZGFyeShlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fVElDSzoge1xuICAgICAgICAgIGluaXRPblRpY2soZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJpbmQgdHJpZ2dlcnNcbiAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgIGZvciAoY29uc3QgdHJpZ2dlciBvZiB0cmlnZ2Vycy52YWx1ZSkge1xuICAgICAgdHJpZ2dlckV2ZW50cy5vbih0cmlnZ2VyLnR5cGUsICgpID0+IHtcbiAgICAgICAgaWYgKGNoZWNrQ29uZGl0aW9ucyh0cmlnZ2VyKSkge1xuICAgICAgICAgIGZvciAoY29uc3QgdHJpZ2dlckFjdGlvbiBvZiB0cmlnZ2VyLmFjdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkQWN0aW9uKHRyaWdnZXJBY3Rpb24pKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVudGl0eSA9IGdldEVudGl0eUJ5QWN0aW9uKHRyaWdnZXJBY3Rpb24pO1xuICAgICAgICAgICAgICBpZiAoZW50aXR5KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aW9ucyA9IEFjdGlvbnMuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IGFjdGlvbnMudmFsdWUuZmluZCgkID0+ICQubmFtZSA9PT0gdHJpZ2dlckFjdGlvbi5uYW1lKTtcbiAgICAgICAgICAgICAgICAgIGlmIChhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYWN0aW9ucyBhcmUgZW5xdWV1ZWQgdG8gYmUgZXhlY3V0ZWQgb24gdGhlIG5leHQgdGljayBhZnRlciBhbGwgdGhlIHRyaWdnZXJzIGhhdmUgYmVlbiBwcm9jZXNzZWQsXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgaXMgdG8gYXZvaWQgb25lIHRyaWdnZXIgbWVzc2luZyB3aXRoIG90aGVyIHRyaWdnZXIncyBjb25kaXRpb25zXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvblF1ZXVlLnB1c2goeyBlbnRpdHksIGFjdGlvbiB9KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fU1BBV04pO1xuXG4gICAgaW5pdGVkRW50aXRpZXMuYWRkKGVudGl0eSk7XG4gIH1cblxuICBmdW5jdGlvbiBpc1ZhbGlkQWN0aW9uKGFjdGlvbjogVHJpZ2dlckFjdGlvbikge1xuICAgIGNvbnN0IHsgaWQsIG5hbWUgfSA9IGFjdGlvbjtcbiAgICByZXR1cm4gISFpZCAmJiAhIW5hbWU7XG4gIH1cblxuICBmdW5jdGlvbiBjaGVja0NvbmRpdGlvbnModHJpZ2dlcjogRGVlcFJlYWRvbmx5T2JqZWN0PFRyaWdnZXI+KSB7XG4gICAgaWYgKHRyaWdnZXIuY29uZGl0aW9ucyAmJiB0cmlnZ2VyLmNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgY29uZGl0aW9ucyA9IHRyaWdnZXIuY29uZGl0aW9ucy5tYXAoY2hlY2tDb25kaXRpb24pO1xuICAgICAgY29uc3QgaXNUcnVlID0gKHJlc3VsdD86IGJvb2xlYW4pID0+ICEhcmVzdWx0O1xuICAgICAgY29uc3Qgb3BlcmF0aW9uID0gdHJpZ2dlci5vcGVyYXRpb24gfHwgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbi5BTkQ7XG4gICAgICBzd2l0Y2ggKG9wZXJhdGlvbikge1xuICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24uQU5EOiB7XG4gICAgICAgICAgcmV0dXJuIGNvbmRpdGlvbnMuZXZlcnkoaXNUcnVlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24uT1I6IHtcbiAgICAgICAgICByZXR1cm4gY29uZGl0aW9ucy5zb21lKGlzVHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gaWYgdGhlcmUgYXJlIG5vIGNvbmRpdGlvbnMsIHRoZSB0cmlnZ2VyIGNhbiBjb250aW51ZVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZnVuY3Rpb24gY2hlY2tDb25kaXRpb24oY29uZGl0aW9uOiBUcmlnZ2VyQ29uZGl0aW9uKSB7XG4gICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlDb25kaXRpb24oY29uZGl0aW9uKTtcbiAgICBpZiAoZW50aXR5KSB7XG4gICAgICB0cnkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi50eXBlKSB7XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZXMgPSBTdGF0ZXMuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICBpZiAoc3RhdGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldEN1cnJlbnRWYWx1ZShzdGF0ZXMpO1xuICAgICAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlID09PSBjb25kaXRpb24udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTX05PVDoge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGVzID0gU3RhdGVzLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKHN0YXRlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRDdXJyZW50VmFsdWUoc3RhdGVzKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZSAhPT0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9QUkVWSU9VU19TVEFURV9JUzoge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGVzID0gU3RhdGVzLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKHN0YXRlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gZ2V0UHJldmlvdXNWYWx1ZShzdGF0ZXMpO1xuICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZSA9PT0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9QUkVWSU9VU19TVEFURV9JU19OT1Q6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlcyA9IFN0YXRlcy5nZXRPck51bGwoZW50aXR5KTtcbiAgICAgICAgICAgIGlmIChzdGF0ZXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGdldFByZXZpb3VzVmFsdWUoc3RhdGVzKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzVmFsdWUgIT09IGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9FUVVBTFM6IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKGNvdW50ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50ZXIudmFsdWUgPT09IG51bWVyaWM7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19HUkVBVEVSX1RIQU46IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKGNvdW50ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50ZXIudmFsdWUgPiBudW1lcmljO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfSVNfTEVTU19USEFOOiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRPck51bGwoZW50aXR5KTtcbiAgICAgICAgICAgIGlmIChjb3VudGVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG51bWVyaWMgPSBOdW1iZXIoY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgaWYgKCFpc05hTihudW1lcmljKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb3VudGVyLnZhbHVlIDwgbnVtZXJpYztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfTEVTU19USEFOOiB7XG4gICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGdldFdvcmxkUG9zaXRpb24oZW50aXR5KTtcblxuICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgaWYgKCFpc05hTihudW1lcmljKSkge1xuICAgICAgICAgICAgICByZXR1cm4gVmVjdG9yMy5kaXN0YW5jZShwb3NpdGlvbiwgZ2V0UGxheWVyUG9zaXRpb24oKSkgPCBudW1lcmljO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9HUkVBVEVSX1RIQU46IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gZ2V0V29ybGRQb3NpdGlvbihlbnRpdHkpO1xuICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgaWYgKCFpc05hTihudW1lcmljKSkge1xuICAgICAgICAgICAgICByZXR1cm4gVmVjdG9yMy5kaXN0YW5jZShwb3NpdGlvbiwgZ2V0UGxheWVyUG9zaXRpb24oKSkgPiBudW1lcmljO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBjb25kaXRpb24nLCBjb25kaXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRFbnRpdHlCeUlkPFQgZXh0ZW5kcyB7IGlkOiBudW1iZXIgfT4oY29tcG9uZW50TmFtZTogc3RyaW5nLCBpZDogbnVtYmVyKSB7XG4gICAgY29uc3QgQ29tcG9uZW50ID0gZW5naW5lLmdldENvbXBvbmVudChcbiAgICAgIGNvbXBvbmVudE5hbWUsXG4gICAgKSBhcyBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxUPjtcbiAgICBjb25zdCBlbnRpdGllcyA9IEFycmF5LmZyb20oZW5naW5lLmdldEVudGl0aWVzV2l0aChDb21wb25lbnQpKTtcbiAgICBjb25zdCByZXN1bHQgPSBlbnRpdGllcy5maW5kKChbX2VudGl0eSwgdmFsdWVdKSA9PiB2YWx1ZS5pZCA9PT0gaWQpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHJlc3VsdCkgJiYgcmVzdWx0Lmxlbmd0aCA+IDAgPyByZXN1bHRbMF0gOiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0RW50aXR5QnlBY3Rpb24oYWN0aW9uOiBUcmlnZ2VyQWN0aW9uKSB7XG4gICAgaWYgKGFjdGlvbi5pZCkge1xuICAgICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlJZChDb21wb25lbnROYW1lLkFDVElPTlMsIGFjdGlvbi5pZCk7XG4gICAgICBpZiAoZW50aXR5KSB7XG4gICAgICAgIHJldHVybiBlbnRpdHk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0RW50aXR5QnlDb25kaXRpb24oY29uZGl0aW9uOiBUcmlnZ2VyQ29uZGl0aW9uKSB7XG4gICAgY29uc3QgY29tcG9uZW50TmFtZSA9IE9iamVjdC52YWx1ZXMoQ29tcG9uZW50TmFtZSlcbiAgICAgIC5tYXAoY29tcG9uZW50TmFtZSA9PiAoe1xuICAgICAgICBjb21wb25lbnROYW1lLFxuICAgICAgICBjb25kaXRpb25UeXBlczogZ2V0Q29uZGl0aW9uVHlwZXNCeUNvbXBvbmVudE5hbWUoY29tcG9uZW50TmFtZSksXG4gICAgICB9KSlcbiAgICAgIC5yZWR1Y2U8Q29tcG9uZW50TmFtZSB8IG51bGw+KFxuICAgICAgICAocmVzdWx0LCB7IGNvbXBvbmVudE5hbWUsIGNvbmRpdGlvblR5cGVzIH0pID0+XG4gICAgICAgICAgY29uZGl0aW9uVHlwZXMuaW5jbHVkZXMoY29uZGl0aW9uLnR5cGUpID8gY29tcG9uZW50TmFtZSA6IHJlc3VsdCxcbiAgICAgICAgbnVsbCxcbiAgICAgICk7XG4gICAgaWYgKGNvbXBvbmVudE5hbWUgJiYgY29uZGl0aW9uLmlkKSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBnZXRFbnRpdHlCeUlkKGNvbXBvbmVudE5hbWUsIGNvbmRpdGlvbi5pZCk7XG4gICAgICBpZiAoZW50aXR5KSB7XG4gICAgICAgIHJldHVybiBlbnRpdHk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBPTl9JTlBVVF9BQ1RJT04gaW5zdGVhZCAqL1xuICAvLyBPTl9DTElDS1xuICBmdW5jdGlvbiBpbml0T25DbGlja1RyaWdnZXIoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBjb25zdCBwb2ludGVyRXZlbnQgPSBQb2ludGVyRXZlbnRzLmdldE11dGFibGVPck51bGwoZW50aXR5KTtcbiAgICBsZXQgb3B0cyA9IHsgYnV0dG9uOiBJbnB1dEFjdGlvbi5JQV9QT0lOVEVSLCBob3ZlclRleHQ6ICdDbGljaycgfTtcblxuICAgIGlmIChwb2ludGVyRXZlbnQpIHtcbiAgICAgIC8vIEF2b2lkIGNyZWF0aW5nIGR1cGxpY2F0ZXMgb2YgdGhlIHNhbWUgcG9pbnRlckV2ZW50LlxuICAgICAgLy8gVGhpcyB1c3VhbGx5IGhhcHBlbnMgd2l0aCBlbnRpdGllcyB0aGF0IGFyZSBjcmVhdGVkIGF0IHJ1bnRpbWUgYW5kIGFyZSBiZWluZyBzeW5jcm9uaXplZC5cbiAgICAgIC8vIElmIHlvdSByZWNlaXZlIGFuIGVudGl0eSB3aXRoIHBvaW50ZXJFdmVudCB0aGlzIGZ1bmN0aW9uIGluc2lkZSB0aGUgY3JlYXRlVHJpZ2dlclN5c3RlbSBpcyBnZW5lcmF0aW5nIGFub3RoZXIgb25lIHdpdGggdGhlIHNhbWUgdmFsdWVzLlxuICAgICAgY29uc3QgZXhpc3RpbmdJbmRleCA9IHBvaW50ZXJFdmVudC5wb2ludGVyRXZlbnRzLmZpbmRJbmRleChcbiAgICAgICAgJCA9PiAkLmV2ZW50SW5mbz8uYnV0dG9uID09PSBvcHRzLmJ1dHRvbixcbiAgICAgICk7XG4gICAgICBpZiAoZXhpc3RpbmdJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgZXZlbnRJbmZvID0gcG9pbnRlckV2ZW50LnBvaW50ZXJFdmVudHNbZXhpc3RpbmdJbmRleF0uZXZlbnRJbmZvO1xuICAgICAgICBvcHRzID0geyAuLi5vcHRzLCAuLi5ldmVudEluZm8gfTsgLy8gTWVyZ2UgZGVmYXVsdCBvcHRzIHdpdGggdGhlIGV4aXN0aW5nIHBvaW50ZXJFdmVudC5cbiAgICAgICAgcG9pbnRlckV2ZW50LnBvaW50ZXJFdmVudHMuc3BsaWNlKGV4aXN0aW5nSW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBvaW50ZXJFdmVudHNTeXN0ZW0ub25Qb2ludGVyRG93bihcbiAgICAgIHtcbiAgICAgICAgZW50aXR5LFxuICAgICAgICBvcHRzLFxuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KTtcbiAgICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX0NMSUNLKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8vIE9OX0lOUFVUX0FDVElPTlxuICBmdW5jdGlvbiBpbml0T25JbnB1dEFjdGlvblRyaWdnZXIoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBjb25zdCBwb2ludGVyRXZlbnQgPSBQb2ludGVyRXZlbnRzLmdldE11dGFibGVPck51bGwoZW50aXR5KTtcbiAgICBsZXQgb3B0cyA9IHsgYnV0dG9uOiBJbnB1dEFjdGlvbi5JQV9QUklNQVJZLCBob3ZlclRleHQ6ICdQcmVzcycgfTtcblxuICAgIGlmIChwb2ludGVyRXZlbnQpIHtcbiAgICAgIC8vIEF2b2lkIGNyZWF0aW5nIGR1cGxpY2F0ZXMgb2YgdGhlIHNhbWUgcG9pbnRlckV2ZW50LlxuICAgICAgLy8gVGhpcyB1c3VhbGx5IGhhcHBlbnMgd2l0aCBlbnRpdGllcyB0aGF0IGFyZSBjcmVhdGVkIGF0IHJ1bnRpbWUgYW5kIGFyZSBiZWluZyBzeW5jcm9uaXplZC5cbiAgICAgIC8vIElmIHlvdSByZWNlaXZlIGFuIGVudGl0eSB3aXRoIHBvaW50ZXJFdmVudCB0aGlzIGZ1bmN0aW9uIGluc2lkZSB0aGUgY3JlYXRlVHJpZ2dlclN5c3RlbSBpcyBnZW5lcmF0aW5nIGFub3RoZXIgb25lIHdpdGggdGhlIHNhbWUgdmFsdWVzLlxuICAgICAgY29uc3QgZXhpc3RpbmdJbmRleCA9IHBvaW50ZXJFdmVudC5wb2ludGVyRXZlbnRzLmZpbmRJbmRleChcbiAgICAgICAgJCA9PiAkLmV2ZW50SW5mbz8uYnV0dG9uID09PSBvcHRzLmJ1dHRvbixcbiAgICAgICk7XG4gICAgICBpZiAoZXhpc3RpbmdJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgZXZlbnRJbmZvID0gcG9pbnRlckV2ZW50LnBvaW50ZXJFdmVudHNbZXhpc3RpbmdJbmRleF0uZXZlbnRJbmZvO1xuICAgICAgICBvcHRzID0geyAuLi5vcHRzLCAuLi5ldmVudEluZm8gfTsgLy8gTWVyZ2UgZGVmYXVsdCBvcHRzIHdpdGggdGhlIGV4aXN0aW5nIHBvaW50ZXJFdmVudC5cbiAgICAgICAgcG9pbnRlckV2ZW50LnBvaW50ZXJFdmVudHMuc3BsaWNlKGV4aXN0aW5nSW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBvaW50ZXJFdmVudHNTeXN0ZW0ub25Qb2ludGVyRG93bihcbiAgICAgIHtcbiAgICAgICAgZW50aXR5LFxuICAgICAgICBvcHRzLFxuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KTtcbiAgICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX0lOUFVUX0FDVElPTik7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvLyBPTl9QTEFZRVJfRU5URVJTX0FSRUEgLyBPTl9QTEFZRVJfTEVBVkVTX0FSRUFcbiAgZnVuY3Rpb24gaW5pdE9uUGxheWVyVHJpZ2dlckFyZWEoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBUcmlnZ2VyQXJlYS5zZXRCb3goZW50aXR5KTtcblxuICAgIHRyaWdnZXJBcmVhRXZlbnRzU3lzdGVtLm9uVHJpZ2dlckVudGVyKGVudGl0eSwgZnVuY3Rpb24gKF9yZXN1bHQpIHtcbiAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fUExBWUVSX0VOVEVSU19BUkVBKTtcbiAgICB9KTtcblxuICAgIHRyaWdnZXJBcmVhRXZlbnRzU3lzdGVtLm9uVHJpZ2dlckV4aXQoZW50aXR5LCBmdW5jdGlvbiAoX3Jlc3VsdCkge1xuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KTtcbiAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9QTEFZRVJfTEVBVkVTX0FSRUEpO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdE9uRGFtYWdlKGVudGl0eTogRW50aXR5KSB7XG4gICAgZGFtYWdlVGFyZ2V0cy5hZGQoZW50aXR5KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRPbkhlYWxQbGF5ZXIoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBoZWFsVGFyZ2V0cy5hZGQoZW50aXR5KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRPbkdsb2JhbENpY2soZW50aXR5OiBFbnRpdHkpIHtcbiAgICBnbG9iYWxJbnB1dEFjdGlvbnMub24oSW5wdXRBY3Rpb24uSUFfUE9JTlRFUiwgKCkgPT4ge1xuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KTtcbiAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9HTE9CQUxfQ0xJQ0spO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdE9uR2xvYmFsUHJpbWFyeShlbnRpdHk6IEVudGl0eSkge1xuICAgIGdsb2JhbElucHV0QWN0aW9ucy5vbihJbnB1dEFjdGlvbi5JQV9QUklNQVJZLCAoKSA9PiB7XG4gICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX0dMT0JBTF9QUklNQVJZKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRPbkdsb2JhbFNlY29uZGFyeShlbnRpdHk6IEVudGl0eSkge1xuICAgIGdsb2JhbElucHV0QWN0aW9ucy5vbihJbnB1dEFjdGlvbi5JQV9TRUNPTkRBUlksICgpID0+IHtcbiAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fR0xPQkFMX1NFQ09OREFSWSk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbml0T25UaWNrKGVudGl0eTogRW50aXR5KSB7XG4gICAgdGlja1NldC5hZGQoZW50aXR5KTtcbiAgfVxuXG4gIC8vIE9OX1RXRUVOX0VORFxuICBmdW5jdGlvbiBoYW5kbGVPblR3ZWVuRW5kKGVudGl0eTogRW50aXR5KSB7XG4gICAgaWYgKFxuICAgICAgVHdlZW5Db21wb25lbnQuZ2V0T3JOdWxsKGVudGl0eSkgJiZcbiAgICAgIFR3ZWVuU3RhdGUuZ2V0T3JOdWxsKGVudGl0eSk/LnN0YXRlID09PSBUd2VlblN0YXRlU3RhdHVzLlRTX0NPTVBMRVRFRCAmJlxuICAgICAgdHdlZW5TeXN0ZW0udHdlZW5Db21wbGV0ZWQoZW50aXR5KVxuICAgICkge1xuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KTtcbiAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9UV0VFTl9FTkQpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
338
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJpZ2dlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUVMLFVBQVUsRUFFVixXQUFXLEVBQ1gsdUJBQXVCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBUWhFLE9BQU8sRUFDTCxhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsZ0NBQWdDLEVBQ2hDLGFBQWEsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQUN6QyxNQUFNLFdBQVcsR0FBeUMsRUFBRSxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0FBRTdDLElBQUksb0JBQW9CLEdBQXNDLElBQUksQ0FBQztBQUVuRSxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWM7SUFDekMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sb0JBQW9CLENBQUMsTUFBTSxDQUFD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LENBQUM7SUFDdEIsQ0FBQztJQUdELFNBQVMsZ0JBQWdCLENBQUMsTUFBYztRQUN0QyxJQUNFLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ2hDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxNQUFrQztZQUNyRSxXQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUNsQyxDQUFDO1lBQ0QsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0MsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBJRW5naW5lLFxuICBFbnRpdHksXG4gIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uLFxuICBEZWVwUmVhZG9ubHlPYmplY3QsXG4gIFBvaW50ZXJFdmVudHNTeXN0ZW0sXG4gIFR3ZWVuU3lzdGVtLFxufSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQge1xuICBJbnB1dEFjdGlvbixcbiAgVHdlZW5TdGF0ZSxcbiAgVHdlZW5TdGF0ZVN0YXR1cyxcbiAgVHJpZ2dlckFyZWEsXG4gIHRyaWdnZXJBcmVhRXZlbnRzU3lzdGVtLFxufSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBWZWN0b3IzIH0gZnJvbSAnQGRjbC9zZGsvbWF0aCc7XG5pbXBvcnQgeyBnZXRQbGF5ZXJQb3NpdGlvbiwgZ2V0V29ybGRQb3NpdGlvbiB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFjdGlvbixcbiAgVHJpZ2dlcixcbiAgVHJpZ2dlckFjdGlvbixcbiAgVHJpZ2dlckNvbmRpdGlvbixcbiAgRW5naW5lQ29tcG9uZW50cyxcbn0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQge1xuICBDb21wb25lbnROYW1lLFxuICBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLFxuICBUcmlnZ2VyQ29uZGl0aW9uVHlwZSxcbiAgVHJpZ2dlclR5cGUsXG4gIGdldENvbmRpdGlvblR5cGVzQnlDb21wb25lbnROYW1lLFxuICBnZXRDb21wb25lbnRzLFxufSBmcm9tICcuL2RlZmluaXRpb25zJztcbmltcG9ydCB7IGdldEN1cnJlbnRWYWx1ZSwgZ2V0UHJldmlvdXNWYWx1ZSB9IGZyb20gJy4vc3RhdGVzJztcbmltcG9ydCB7IGdldEFjdGlvbkV2ZW50cywgZ2V0VHJpZ2dlckV2ZW50cyB9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7IGdldFBheWxvYWQgfSBmcm9tICcuL2FjdGlvbi10eXBlcyc7XG5pbXBvcnQgeyBnbG9iYWxJbnB1dEFjdGlvbnMgfSBmcm9tICcuL2lucHV0LWFjdGlvbnMnO1xuaW1wb3J0IHsgdGlja1NldCB9IGZyb20gJy4vdGltZXInO1xuXG5jb25zdCBpbml0ZWRFbnRpdGllcyA9IG5ldyBTZXQ8RW50aXR5PigpO1xuY29uc3QgYWN0aW9uUXVldWU6IHsgZW50aXR5OiBFbnRpdHk7IGFjdGlvbjogQWN0aW9uIH1bXSA9IFtdO1xuXG5leHBvcnQgY29uc3QgZGFtYWdlVGFyZ2V0cyA9IG5ldyBTZXQ8RW50aXR5PigpO1xuZXhwb3J0IGNvbnN0IGhlYWxUYXJnZXRzID0gbmV3IFNldDxFbnRpdHk+KCk7XG5cbmxldCBpbnRlcm5hbEluaXRUcmlnZ2VyczogKChlbnRpdHk6IEVudGl0eSkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRUcmlnZ2VycyhlbnRpdHk6IEVudGl0eSkge1xuICBpZiAoaW50ZXJuYWxJbml0VHJpZ2dlcnMpIHtcbiAgICByZXR1cm4gaW50ZXJuYWxJbml0VHJpZ2dlcnMoZW50aXR5KTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjYWxsIGluaXRUcmlnZ2VycyB3aGlsZSB0cmlnZ2Vyc1N5c3RlbSBoYXMgbm90IGJlZW4gY3JlYXRlZCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHJpZ2dlcnNTeXN0ZW0oXG4gIGVuZ2luZTogSUVuZ2luZSxcbiAgY29tcG9uZW50czogRW5naW5lQ29tcG9uZW50cyxcbiAgcG9pbnRlckV2ZW50c1N5c3RlbTogUG9pbnRlckV2ZW50c1N5c3RlbSxcbiAgdHdlZW5TeXN0ZW06IFR3ZWVuU3lzdGVtLFxuKSB7XG4gIGNvbnN0IHsgVHdlZW46IFR3ZWVuQ29tcG9uZW50LCBQb2ludGVyRXZlbnRzIH0gPSBjb21wb25lbnRzO1xuICBjb25zdCB7IEFjdGlvbnMsIFN0YXRlcywgQ291bnRlciwgVHJpZ2dlcnMgfSA9IGdldENvbXBvbmVudHMoZW5naW5lKTtcblxuICAvLyBzYXZlIHJlZmVyZW5jZSB0byB0aGUgaW5pdCBmdW5jdGlvblxuICBpbnRlcm5hbEluaXRUcmlnZ2VycyA9IGluaXRFbnRpdHlUcmlnZ2VycztcblxuICByZXR1cm4gZnVuY3Rpb24gdHJpZ2dlcnNTeXN0ZW0oX2R0OiBudW1iZXIpIHtcbiAgICAvLyBwcm9jZXNzIGFjdGlvbiBxdWV1ZVxuICAgIHdoaWxlIChhY3Rpb25RdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB7IGVudGl0eSwgYWN0aW9uIH0gPSBhY3Rpb25RdWV1ZS5zaGlmdCgpITtcbiAgICAgIGNvbnN0IGFjdGlvbkV2ZW50cyA9IGdldEFjdGlvbkV2ZW50cyhlbnRpdHkpO1xuICAgICAgYWN0aW9uRXZlbnRzLmVtaXQoYWN0aW9uLm5hbWUsIGdldFBheWxvYWQoYWN0aW9uKSk7XG4gICAgfVxuXG4gICAgY29uc3QgZW50aXRpZXNXaXRoVHJpZ2dlcnMgPSBBcnJheS5mcm9tKGVuZ2luZS5nZXRFbnRpdGllc1dpdGgoVHJpZ2dlcnMpKTtcbiAgICBmb3IgKGNvbnN0IFtlbnRpdHldIG9mIGVudGl0aWVzV2l0aFRyaWdnZXJzKSB7XG4gICAgICBpbml0RW50aXR5VHJpZ2dlcnMoZW50aXR5KTtcbiAgICAgIGhhbmRsZU9uVHdlZW5FbmQoZW50aXR5KTtcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gaW5pdEVudGl0eVRyaWdnZXJzKGVudGl0eTogRW50aXR5KSB7XG4gICAgaWYgKCFUcmlnZ2Vycy5oYXMoZW50aXR5KSB8fCBpbml0ZWRFbnRpdGllcy5oYXMoZW50aXR5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGdldCB0cmlnZ2VycyBkYXRhXG4gICAgY29uc3QgdHJpZ2dlcnMgPSBUcmlnZ2Vycy5nZXQoZW50aXR5KTtcblxuICAgIC8vIGluaXRpYWxpemUgdHJpZ2dlcnMgZm9yIGdpdmVuIGVudGl0eVxuICAgIGNvbnN0IHR5cGVzID0gdHJpZ2dlcnMudmFsdWUucmVkdWNlKFxuICAgICAgKHR5cGVzLCB0cmlnZ2VyKSA9PiB0eXBlcy5hZGQodHJpZ2dlci50eXBlKSxcbiAgICAgIG5ldyBTZXQ8VHJpZ2dlclR5cGU+KCksXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IHR5cGUgb2YgdHlwZXMpIHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIE9OX0lOUFVUX0FDVElPTiBpbnN0ZWFkICovXG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fQ0xJQ0s6IHtcbiAgICAgICAgICBpbml0T25DbGlja1RyaWdnZXIoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX0lOUFVUX0FDVElPTjoge1xuICAgICAgICAgIGluaXRPbklucHV0QWN0aW9uVHJpZ2dlcihlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fUExBWUVSX0VOVEVSU19BUkVBOlxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX1BMQVlFUl9MRUFWRVNfQVJFQToge1xuICAgICAgICAgIGluaXRPblBsYXllclRyaWdnZXJBcmVhKGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9EQU1BR0U6IHtcbiAgICAgICAgICBpbml0T25EYW1hZ2UoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX0hFQUxfUExBWUVSOiB7XG4gICAgICAgICAgaW5pdE9uSGVhbFBsYXllcihlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fR0xPQkFMX0NMSUNLOiB7XG4gICAgICAgICAgaW5pdE9uR2xvYmFsQ2ljayhlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fR0xPQkFMX1BSSU1BUlk6IHtcbiAgICAgICAgICBpbml0T25HbG9iYWxQcmltYXJ5KGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9HTE9CQUxfU0VDT05EQVJZOiB7XG4gICAgICAgICAgaW5pdE9uR2xvYmFsU2Vjb25kYXJ5KGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9USUNLOiB7XG4gICAgICAgICAgaW5pdE9uVGljayhlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYmluZCB0cmlnZ2Vyc1xuICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRyaWdnZXJzLnZhbHVlKSB7XG4gICAgICB0cmlnZ2VyRXZlbnRzLm9uKHRyaWdnZXIudHlwZSwgKCkgPT4ge1xuICAgICAgICBpZiAoY2hlY2tDb25kaXRpb25zKHRyaWdnZXIpKSB7XG4gICAgICAgICAgZm9yIChjb25zdCB0cmlnZ2VyQWN0aW9uIG9mIHRyaWdnZXIuYWN0aW9ucykge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRBY3Rpb24odHJpZ2dlckFjdGlvbikpIHtcbiAgICAgICAgICAgICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlBY3Rpb24odHJpZ2dlckFjdGlvbik7XG4gICAgICAgICAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb25zID0gQWN0aW9ucy5nZXRPck51bGwoZW50aXR5KTtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9ucykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gYWN0aW9ucy52YWx1ZS5maW5kKCQgPT4gJC5uYW1lID09PSB0cmlnZ2VyQWN0aW9uLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAvLyBhY3Rpb25zIGFyZSBlbnF1ZXVlZCB0byBiZSBleGVjdXRlZCBvbiB0aGUgbmV4dCB0aWNrIGFmdGVyIGFsbCB0aGUgdHJpZ2dlcnMgaGF2ZSBiZWVuIHByb2Nlc3NlZCxcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBpcyB0byBhdm9pZCBvbmUgdHJpZ2dlciBtZXNzaW5nIHdpdGggb3RoZXIgdHJpZ2dlcidzIGNvbmRpdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uUXVldWUucHVzaCh7IGVudGl0eSwgYWN0aW9uIH0pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9TUEFXTik7XG5cbiAgICBpbml0ZWRFbnRpdGllcy5hZGQoZW50aXR5KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzVmFsaWRBY3Rpb24oYWN0aW9uOiBUcmlnZ2VyQWN0aW9uKSB7XG4gICAgY29uc3QgeyBpZCwgbmFtZSB9ID0gYWN0aW9uO1xuICAgIHJldHVybiAhIWlkICYmICEhbmFtZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNoZWNrQ29uZGl0aW9ucyh0cmlnZ2VyOiBEZWVwUmVhZG9ubHlPYmplY3Q8VHJpZ2dlcj4pIHtcbiAgICBpZiAodHJpZ2dlci5jb25kaXRpb25zICYmIHRyaWdnZXIuY29uZGl0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBjb25kaXRpb25zID0gdHJpZ2dlci5jb25kaXRpb25zLm1hcChjaGVja0NvbmRpdGlvbik7XG4gICAgICBjb25zdCBpc1RydWUgPSAocmVzdWx0PzogYm9vbGVhbikgPT4gISFyZXN1bHQ7XG4gICAgICBjb25zdCBvcGVyYXRpb24gPSB0cmlnZ2VyLm9wZXJhdGlvbiB8fCBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLkFORDtcbiAgICAgIHN3aXRjaCAob3BlcmF0aW9uKSB7XG4gICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbi5BTkQ6IHtcbiAgICAgICAgICByZXR1cm4gY29uZGl0aW9ucy5ldmVyeShpc1RydWUpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbi5PUjoge1xuICAgICAgICAgIHJldHVybiBjb25kaXRpb25zLnNvbWUoaXNUcnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBpZiB0aGVyZSBhcmUgbm8gY29uZGl0aW9ucywgdGhlIHRyaWdnZXIgY2FuIGNvbnRpbnVlXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBmdW5jdGlvbiBjaGVja0NvbmRpdGlvbihjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCBlbnRpdHkgPSBnZXRFbnRpdHlCeUNvbmRpdGlvbihjb25kaXRpb24pO1xuICAgIGlmIChlbnRpdHkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAoY29uZGl0aW9uLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVM6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlcyA9IFN0YXRlcy5nZXRPck51bGwoZW50aXR5KTtcbiAgICAgICAgICAgIGlmIChzdGF0ZXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gZ2V0Q3VycmVudFZhbHVlKHN0YXRlcyk7XG4gICAgICAgICAgICAgIHJldHVybiBjdXJyZW50VmFsdWUgPT09IGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVNfTk9UOiB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZXMgPSBTdGF0ZXMuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICBpZiAoc3RhdGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldEN1cnJlbnRWYWx1ZShzdGF0ZXMpO1xuICAgICAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlICE9PSBjb25kaXRpb24udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1BSRVZJT1VTX1NUQVRFX0lTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZXMgPSBTdGF0ZXMuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICBpZiAoc3RhdGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBnZXRQcmV2aW91c1ZhbHVlKHN0YXRlcyk7XG4gICAgICAgICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlID09PSBjb25kaXRpb24udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1BSRVZJT1VTX1NUQVRFX0lTX05PVDoge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGVzID0gU3RhdGVzLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKHN0YXRlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gZ2V0UHJldmlvdXNWYWx1ZShzdGF0ZXMpO1xuICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZSAhPT0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0VRVUFMUzoge1xuICAgICAgICAgICAgY29uc3QgY291bnRlciA9IENvdW50ZXIuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICBpZiAoY291bnRlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBudW1lcmljID0gTnVtYmVyKGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgIGlmICghaXNOYU4obnVtZXJpYykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY291bnRlci52YWx1ZSA9PT0gbnVtZXJpYztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0lTX0dSRUFURVJfVEhBTjoge1xuICAgICAgICAgICAgY29uc3QgY291bnRlciA9IENvdW50ZXIuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICBpZiAoY291bnRlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBudW1lcmljID0gTnVtYmVyKGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgIGlmICghaXNOYU4obnVtZXJpYykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY291bnRlci52YWx1ZSA+IG51bWVyaWM7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19MRVNTX1RIQU46IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKGNvdW50ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50ZXIudmFsdWUgPCBudW1lcmljO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9MRVNTX1RIQU46IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gZ2V0V29ybGRQb3NpdGlvbihlbnRpdHkpO1xuXG4gICAgICAgICAgICBjb25zdCBudW1lcmljID0gTnVtYmVyKGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBWZWN0b3IzLmRpc3RhbmNlKHBvc2l0aW9uLCBnZXRQbGF5ZXJQb3NpdGlvbigpKSA8IG51bWVyaWM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fRElTVEFOQ0VfVE9fUExBWUVSX0dSRUFURVJfVEhBTjoge1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSBnZXRXb3JsZFBvc2l0aW9uKGVudGl0eSk7XG4gICAgICAgICAgICBjb25zdCBudW1lcmljID0gTnVtYmVyKGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBWZWN0b3IzLmRpc3RhbmNlKHBvc2l0aW9uLCBnZXRQbGF5ZXJQb3NpdGlvbigpKSA+IG51bWVyaWM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGNvbmRpdGlvbicsIGNvbmRpdGlvbik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldEVudGl0eUJ5SWQ8VCBleHRlbmRzIHsgaWQ6IG51bWJlciB9Pihjb21wb25lbnROYW1lOiBzdHJpbmcsIGlkOiBudW1iZXIpIHtcbiAgICBjb25zdCBDb21wb25lbnQgPSBlbmdpbmUuZ2V0Q29tcG9uZW50KFxuICAgICAgY29tcG9uZW50TmFtZSxcbiAgICApIGFzIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFQ+O1xuICAgIGNvbnN0IGVudGl0aWVzID0gQXJyYXkuZnJvbShlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKENvbXBvbmVudCkpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGVudGl0aWVzLmZpbmQoKFtfZW50aXR5LCB2YWx1ZV0pID0+IHZhbHVlLmlkID09PSBpZCk7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocmVzdWx0KSAmJiByZXN1bHQubGVuZ3RoID4gMCA/IHJlc3VsdFswXSA6IG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRFbnRpdHlCeUFjdGlvbihhY3Rpb246IFRyaWdnZXJBY3Rpb24pIHtcbiAgICBpZiAoYWN0aW9uLmlkKSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBnZXRFbnRpdHlCeUlkKENvbXBvbmVudE5hbWUuQUNUSU9OUywgYWN0aW9uLmlkKTtcbiAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRFbnRpdHlCeUNvbmRpdGlvbihjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCBjb21wb25lbnROYW1lID0gT2JqZWN0LnZhbHVlcyhDb21wb25lbnROYW1lKVxuICAgICAgLm1hcChjb21wb25lbnROYW1lID0+ICh7XG4gICAgICAgIGNvbXBvbmVudE5hbWUsXG4gICAgICAgIGNvbmRpdGlvblR5cGVzOiBnZXRDb25kaXRpb25UeXBlc0J5Q29tcG9uZW50TmFtZShjb21wb25lbnROYW1lKSxcbiAgICAgIH0pKVxuICAgICAgLnJlZHVjZTxDb21wb25lbnROYW1lIHwgbnVsbD4oXG4gICAgICAgIChyZXN1bHQsIHsgY29tcG9uZW50TmFtZSwgY29uZGl0aW9uVHlwZXMgfSkgPT5cbiAgICAgICAgICBjb25kaXRpb25UeXBlcy5pbmNsdWRlcyhjb25kaXRpb24udHlwZSkgPyBjb21wb25lbnROYW1lIDogcmVzdWx0LFxuICAgICAgICBudWxsLFxuICAgICAgKTtcbiAgICBpZiAoY29tcG9uZW50TmFtZSAmJiBjb25kaXRpb24uaWQpIHtcbiAgICAgIGNvbnN0IGVudGl0eSA9IGdldEVudGl0eUJ5SWQoY29tcG9uZW50TmFtZSwgY29uZGl0aW9uLmlkKTtcbiAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIE9OX0lOUFVUX0FDVElPTiBpbnN0ZWFkICovXG4gIC8vIE9OX0NMSUNLXG4gIGZ1bmN0aW9uIGluaXRPbkNsaWNrVHJpZ2dlcihlbnRpdHk6IEVudGl0eSkge1xuICAgIGNvbnN0IHBvaW50ZXJFdmVudCA9IFBvaW50ZXJFdmVudHMuZ2V0TXV0YWJsZU9yTnVsbChlbnRpdHkpO1xuICAgIGxldCBvcHRzID0geyBidXR0b246IElucHV0QWN0aW9uLklBX1BPSU5URVIsIGhvdmVyVGV4dDogJ0NsaWNrJyB9O1xuXG4gICAgaWYgKHBvaW50ZXJFdmVudCkge1xuICAgICAgLy8gQXZvaWQgY3JlYXRpbmcgZHVwbGljYXRlcyBvZiB0aGUgc2FtZSBwb2ludGVyRXZlbnQuXG4gICAgICAvLyBUaGlzIHVzdWFsbHkgaGFwcGVucyB3aXRoIGVudGl0aWVzIHRoYXQgYXJlIGNyZWF0ZWQgYXQgcnVudGltZSBhbmQgYXJlIGJlaW5nIHN5bmNyb25pemVkLlxuICAgICAgLy8gSWYgeW91IHJlY2VpdmUgYW4gZW50aXR5IHdpdGggcG9pbnRlckV2ZW50IHRoaXMgZnVuY3Rpb24gaW5zaWRlIHRoZSBjcmVhdGVUcmlnZ2VyU3lzdGVtIGlzIGdlbmVyYXRpbmcgYW5vdGhlciBvbmUgd2l0aCB0aGUgc2FtZSB2YWx1ZXMuXG4gICAgICBjb25zdCBleGlzdGluZ0luZGV4ID0gcG9pbnRlckV2ZW50LnBvaW50ZXJFdmVudHMuZmluZEluZGV4KFxuICAgICAgICAkID0+ICQuZXZlbnRJbmZvPy5idXR0b24gPT09IG9wdHMuYnV0dG9uLFxuICAgICAgKTtcbiAgICAgIGlmIChleGlzdGluZ0luZGV4ICE9PSAtMSkge1xuICAgICAgICBjb25zdCBldmVudEluZm8gPSBwb2ludGVyRXZlbnQucG9pbnRlckV2ZW50c1tleGlzdGluZ0luZGV4XS5ldmVudEluZm87XG4gICAgICAgIG9wdHMgPSB7IC4uLm9wdHMsIC4uLmV2ZW50SW5mbyB9OyAvLyBNZXJnZSBkZWZhdWx0IG9wdHMgd2l0aCB0aGUgZXhpc3RpbmcgcG9pbnRlckV2ZW50LlxuICAgICAgICBwb2ludGVyRXZlbnQucG9pbnRlckV2ZW50cy5zcGxpY2UoZXhpc3RpbmdJbmRleCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcG9pbnRlckV2ZW50c1N5c3RlbS5vblBvaW50ZXJEb3duKFxuICAgICAge1xuICAgICAgICBlbnRpdHksXG4gICAgICAgIG9wdHMsXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fQ0xJQ0spO1xuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLy8gT05fSU5QVVRfQUNUSU9OXG4gIGZ1bmN0aW9uIGluaXRPbklucHV0QWN0aW9uVHJpZ2dlcihlbnRpdHk6IEVudGl0eSkge1xuICAgIGNvbnN0IHBvaW50ZXJFdmVudCA9IFBvaW50ZXJFdmVudHMuZ2V0TXV0YWJsZU9yTnVsbChlbnRpdHkpO1xuICAgIGxldCBvcHRzID0geyBidXR0b246IElucHV0QWN0aW9uLklBX1BSSU1BUlksIGhvdmVyVGV4dDogJ1ByZXNzJyB9O1xuXG4gICAgaWYgKHBvaW50ZXJFdmVudCkge1xuICAgICAgLy8gQXZvaWQgY3JlYXRpbmcgZHVwbGljYXRlcyBvZiB0aGUgc2FtZSBwb2ludGVyRXZlbnQuXG4gICAgICAvLyBUaGlzIHVzdWFsbHkgaGFwcGVucyB3aXRoIGVudGl0aWVzIHRoYXQgYXJlIGNyZWF0ZWQgYXQgcnVudGltZSBhbmQgYXJlIGJlaW5nIHN5bmNyb25pemVkLlxuICAgICAgLy8gSWYgeW91IHJlY2VpdmUgYW4gZW50aXR5IHdpdGggcG9pbnRlckV2ZW50IHRoaXMgZnVuY3Rpb24gaW5zaWRlIHRoZSBjcmVhdGVUcmlnZ2VyU3lzdGVtIGlzIGdlbmVyYXRpbmcgYW5vdGhlciBvbmUgd2l0aCB0aGUgc2FtZSB2YWx1ZXMuXG4gICAgICBjb25zdCBleGlzdGluZ0luZGV4ID0gcG9pbnRlckV2ZW50LnBvaW50ZXJFdmVudHMuZmluZEluZGV4KFxuICAgICAgICAkID0+ICQuZXZlbnRJbmZvPy5idXR0b24gPT09IG9wdHMuYnV0dG9uLFxuICAgICAgKTtcbiAgICAgIGlmIChleGlzdGluZ0luZGV4ICE9PSAtMSkge1xuICAgICAgICBjb25zdCBldmVudEluZm8gPSBwb2ludGVyRXZlbnQucG9pbnRlckV2ZW50c1tleGlzdGluZ0luZGV4XS5ldmVudEluZm87XG4gICAgICAgIG9wdHMgPSB7IC4uLm9wdHMsIC4uLmV2ZW50SW5mbyB9OyAvLyBNZXJnZSBkZWZhdWx0IG9wdHMgd2l0aCB0aGUgZXhpc3RpbmcgcG9pbnRlckV2ZW50LlxuICAgICAgICBwb2ludGVyRXZlbnQucG9pbnRlckV2ZW50cy5zcGxpY2UoZXhpc3RpbmdJbmRleCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcG9pbnRlckV2ZW50c1N5c3RlbS5vblBvaW50ZXJEb3duKFxuICAgICAge1xuICAgICAgICBlbnRpdHksXG4gICAgICAgIG9wdHMsXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fSU5QVVRfQUNUSU9OKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8vIE9OX1BMQVlFUl9FTlRFUlNfQVJFQSAvIE9OX1BMQVlFUl9MRUFWRVNfQVJFQVxuICBmdW5jdGlvbiBpbml0T25QbGF5ZXJUcmlnZ2VyQXJlYShlbnRpdHk6IEVudGl0eSkge1xuICAgIFRyaWdnZXJBcmVhLnNldEJveChlbnRpdHkpO1xuXG4gICAgdHJpZ2dlckFyZWFFdmVudHNTeXN0ZW0ub25UcmlnZ2VyRW50ZXIoZW50aXR5LCBmdW5jdGlvbiAocmVzdWx0KSB7XG4gICAgICBpZiAocmVzdWx0LnRyaWdnZXI/LmVudGl0eSAhPT0gZW5naW5lLlBsYXllckVudGl0eSkgcmV0dXJuO1xuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KTtcbiAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9QTEFZRVJfRU5URVJTX0FSRUEpO1xuICAgIH0pO1xuXG4gICAgdHJpZ2dlckFyZWFFdmVudHNTeXN0ZW0ub25UcmlnZ2VyRXhpdChlbnRpdHksIGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgIGlmIChyZXN1bHQudHJpZ2dlcj8uZW50aXR5ICE9PSBlbmdpbmUuUGxheWVyRW50aXR5KSByZXR1cm47XG4gICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX1BMQVlFUl9MRUFWRVNfQVJFQSk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbml0T25EYW1hZ2UoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBkYW1hZ2VUYXJnZXRzLmFkZChlbnRpdHkpO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdE9uSGVhbFBsYXllcihlbnRpdHk6IEVudGl0eSkge1xuICAgIGhlYWxUYXJnZXRzLmFkZChlbnRpdHkpO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdE9uR2xvYmFsQ2ljayhlbnRpdHk6IEVudGl0eSkge1xuICAgIGdsb2JhbElucHV0QWN0aW9ucy5vbihJbnB1dEFjdGlvbi5JQV9QT0lOVEVSLCAoKSA9PiB7XG4gICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX0dMT0JBTF9DTElDSyk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbml0T25HbG9iYWxQcmltYXJ5KGVudGl0eTogRW50aXR5KSB7XG4gICAgZ2xvYmFsSW5wdXRBY3Rpb25zLm9uKElucHV0QWN0aW9uLklBX1BSSU1BUlksICgpID0+IHtcbiAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fR0xPQkFMX1BSSU1BUlkpO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdE9uR2xvYmFsU2Vjb25kYXJ5KGVudGl0eTogRW50aXR5KSB7XG4gICAgZ2xvYmFsSW5wdXRBY3Rpb25zLm9uKElucHV0QWN0aW9uLklBX1NFQ09OREFSWSwgKCkgPT4ge1xuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KTtcbiAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9HTE9CQUxfU0VDT05EQVJZKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRPblRpY2soZW50aXR5OiBFbnRpdHkpIHtcbiAgICB0aWNrU2V0LmFkZChlbnRpdHkpO1xuICB9XG5cbiAgLy8gT05fVFdFRU5fRU5EXG4gIGZ1bmN0aW9uIGhhbmRsZU9uVHdlZW5FbmQoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBpZiAoXG4gICAgICBUd2VlbkNvbXBvbmVudC5nZXRPck51bGwoZW50aXR5KSAmJlxuICAgICAgVHdlZW5TdGF0ZS5nZXRPck51bGwoZW50aXR5KT8uc3RhdGUgPT09IFR3ZWVuU3RhdGVTdGF0dXMuVFNfQ09NUExFVEVEICYmXG4gICAgICB0d2VlblN5c3RlbS50d2VlbkNvbXBsZXRlZChlbnRpdHkpXG4gICAgKSB7XG4gICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX1RXRUVOX0VORCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/asset-packs",
|
|
3
3
|
"description": "Decentraland Asset Packs - curated collections of 3D assets for Decentraland scenes",
|
|
4
|
-
"version": "2.11.
|
|
4
|
+
"version": "2.11.5",
|
|
5
5
|
"author": {
|
|
6
6
|
"email": "hello@decentraland.org",
|
|
7
7
|
"name": "Decentraland Foundation",
|