@techextensor/tab-core-utility 2.2.150 → 2.2.151

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.
@@ -50,13 +50,13 @@ export class TabCrudService {
50
50
  filterValidAppObjectFields(data, appObject, keepPrimaryKey = false) {
51
51
  if (!data || typeof data !== 'object')
52
52
  throw new Error('Invalid data');
53
- const filteredData = { ...data };
53
+ const filteredData = JSON.parse(JSON.stringify(data));
54
54
  // Remove fields with blank values
55
55
  removeBlankValue(filteredData);
56
56
  // Iterate over each key in the filtered data
57
57
  Object.keys(filteredData)?.forEach((key) => {
58
58
  const appField = appObject.field(key);
59
- const childField = appObject.ChildRelationShips.some((x) => x?.childDetails?.LookupObject === key);
59
+ const childField = appObject.ChildRelationShips?.some((x) => x?.childDetails?.LookupObject === key);
60
60
  // Delete the field if it is not valid or if primary keys should not be kept
61
61
  if (!(appField || childField) || (keepPrimaryKey && appField?.IsPrimaryKey)) {
62
62
  delete filteredData[key];
@@ -198,4 +198,4 @@ export class TabCrudService {
198
198
  type: Injectable,
199
199
  args: [{ providedIn: 'root' }]
200
200
  }], null, null); })();
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNydWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQWdCLE1BQU0sMkJBQTJCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHMUYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBR2hFLE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRXFCLG9CQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6RCwyQkFBc0IsR0FBMEIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDOUUsZUFBVSxHQUFjLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxnQkFBVyxHQUFH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QUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEVBQVUsRUFBRSxPQUFhO1FBQy9CLG1DQUFtQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsb0RBQW9EO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQWtDLENBQUM7SUFDM0csQ0FBQzsrRUFyTlEsY0FBYzt1RUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFERCxNQUFNOztpRkFDbkIsY0FBYztjQUQxQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlLCBDcnVkQmFzZVBheWxvYWQsIERlbGV0ZVBheWxvYWQsIEdldFBheWxvYWQsIEluc2VydFBheWxvYWQsIFVwZGF0ZVBheWxvYWQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9jb21tb24uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBBcHBPYmplY3RNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbFwiO1xuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnNcIjtcbmltcG9ydCB7IGNyZWF0ZUR5bmFtaWNEYXRhLCByZW1vdmVCbGFua1ZhbHVlIH0gZnJvbSBcIi4uL3V0aWxzL2pzb24udXRpbFwiO1xuaW1wb3J0IHsgQVBJRmlsdGVyQ3JpdGVyaWEsIEFQSVZhbHVlU2V0cyB9IGZyb20gXCIuLi9tb2RlbHMvYXBpLXF1ZXJ5LmNsYXNzXCI7XG5pbXBvcnQgeyBSZXF1ZXN0UmVzcG9uc2VIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vcmVxLXJlcy5oZWxwZXJzXCI7XG5pbXBvcnQgeyBEU1FIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vZHNxLmhlbHBlcnNcIjtcbmltcG9ydCB7IFF1ZXJ5VHlwZSB9IGZyb20gXCIuLi9lbnVtcy9xdWVyeS5lbnVtXCI7XG5pbXBvcnQgeyBDb25qdWN0aW9uQ2xhdXNlLCBGaWx0ZXJWYWx1ZVR5cGUsIFJlbGF0aW9uYWxPcGVyYXRvciB9IGZyb20gXCIuLi9lbnVtcy9kc3EuZW51bVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcnkubW9kZWxcIjtcbmltcG9ydCB7IEFQSSB9IGZyb20gXCIuLi9jb25zdGFudHMvYXBpLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gXCIuLi91dGlscy9yZXEtcmVzLnV0aWxcIjtcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRhYkNydWRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZXRhZGF0YUhlbHBlcjogTWV0YWRhdGFIZWxwZXIgPSBpbmplY3QoTWV0YWRhdGFIZWxwZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlcXVlc3RSZXNwb25zZUhlbHBlcjogUmVxdWVzdFJlc3BvbnNlSGVscGVyID0gaW5qZWN0KFJlcXVlc3RSZXNwb25zZUhlbHBlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZHNxSGVscGVyOiBEU1FIZWxwZXIgPSBpbmplY3QoRFNRSGVscGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hcGlTZXJ2aWNlID0gaW5qZWN0KEFwaVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgQXBwT2JqZWN0TW9kZWwgZnJvbSB0aGUgZ2l2ZW4gcGF5bG9hZC5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCB3aXRoIGVpdGhlciBkYXRhU291cmNlUXVlcnlJZE9yTmFtZSBvciBhcHBPYmplY3RJZE9yTmFtZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgQXBwT2JqZWN0TW9kZWwuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkOiBDcnVkQmFzZVBheWxvYWQpOiBBcHBPYmplY3RNb2RlbCB7XG4gICAgICAgIGxldCBhcHBPYmplY3Q7XG5cbiAgICAgICAgaWYgKHBheWxvYWQ/LmRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lKSB7XG4gICAgICAgICAgICAvLyBJZiBkYXRhU291cmNlUXVlcnlJZE9yTmFtZSBpcyBnaXZlbiwgZ2V0IHRoZSBBcHBPYmplY3RNb2RlbCBmcm9tIHRoZSBkYXRhIHNvdXJjZSBxdWVyeVxuICAgICAgICAgICAgYXBwT2JqZWN0ID0gdGhpcy5fbWV0YWRhdGFIZWxwZXIuZ2V0RGF0YVNvdXJjZVF1ZXJ5QnlJZE9yTmFtZShwYXlsb2FkLmRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lKT8ucGFyZW50QXBwT2JqZWN0O1xuXG4gICAgICAgIH0gZWxzZSBpZiAocGF5bG9hZD8uYXBwT2JqZWN0SWRPck5hbWUpIHtcbiAgICAgICAgICAgIC8vIElmIGFwcE9iamVjdElkT3JOYW1lIGlzIGdpdmVuLCBnZXQgdGhlIEFwcE9iamVjdE1vZGVsIGRpcmVjdGx5XG4gICAgICAgICAgICBhcHBPYmplY3QgPSB0aGlzLl9tZXRhZGF0YUhlbHBlci5nZXRBcHBPYmplY3RCeUlkT3JOYW1lKHBheWxvYWQuYXBwT2JqZWN0SWRPck5hbWUpO1xuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWFwcE9iamVjdD8uSUQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXBwT2JqZWN0IG5vdCBmb3VuZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFwcE9iamVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXJzIG91dCBpbnZhbGlkIGZpZWxkcyBmcm9tIHRoZSBwcm92aWRlZCBkYXRhIGJhc2VkIG9uIHRoZSBBcHBPYmplY3RNb2RlbC5cbiAgICAgKiBPcHRpb25hbGx5IHJldGFpbnMgcHJpbWFyeSBrZXkgZmllbGRzLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIG9iamVjdCB0byBmaWx0ZXIuXG4gICAgICogQHBhcmFtIGFwcE9iamVjdCBUaGUgQXBwT2JqZWN0TW9kZWwgdXNlZCB0byB2YWxpZGF0ZSB0aGUgZmllbGRzLlxuICAgICAqIEBwYXJhbSBrZWVwUHJpbWFyeUtleSBPcHRpb25hbCBmbGFnIHRvIHJldGFpbiBwcmltYXJ5IGtleSBmaWVsZHMuIERlZmF1bHRzIHRvIGZhbHNlLlxuICAgICAqIEByZXR1cm5zIEEgbmV3IG9iamVjdCB3aXRoIG9ubHkgdmFsaWQgZmllbGRzLlxuICAgICAqL1xuICAgIHByaXZhdGUgZmlsdGVyVmFsaWRBcHBPYmplY3RGaWVsZHMoZGF0YTogYW55LCBhcHBPYmplY3Q6IEFwcE9iamVjdE1vZGVsLCBrZWVwUHJpbWFyeUtleSA9IGZhbHNlKSB7XG4gICAgICAgIGlmICghZGF0YSB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBkYXRhJyk7XG5cbiAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0geyAuLi5kYXRhIH07XG5cbiAgICAgICAgLy8gUmVtb3ZlIGZpZWxkcyB3aXRoIGJsYW5rIHZhbHVlc1xuICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGZpbHRlcmVkRGF0YSk7XG5cbiAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIGVhY2gga2V5IGluIHRoZSBmaWx0ZXJlZCBkYXRhXG4gICAgICAgIE9iamVjdC5rZXlzKGZpbHRlcmVkRGF0YSk/LmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXBwRmllbGQgPSBhcHBPYmplY3QuZmllbGQoa2V5KTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkRmllbGQgPSBhcHBPYmplY3QuQ2hpbGRSZWxhdGlvblNoaXBzLnNvbWUoKHgpID0+IHg/LmNoaWxkRGV0YWlscz8uTG9va3VwT2JqZWN0ID09PSBrZXkpO1xuXG4gICAgICAgICAgICAvLyBEZWxldGUgdGhlIGZpZWxkIGlmIGl0IGlzIG5vdCB2YWxpZCBvciBpZiBwcmltYXJ5IGtleXMgc2hvdWxkIG5vdCBiZSBrZXB0XG4gICAgICAgICAgICBpZiAoIShhcHBGaWVsZCB8fCBjaGlsZEZpZWxkKSB8fCAoa2VlcFByaW1hcnlLZXkgJiYgYXBwRmllbGQ/LklzUHJpbWFyeUtleSkpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZmlsdGVyZWREYXRhW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmaWx0ZXJlZERhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIGEgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHRoZSBjcml0ZXJpYSBwcm92aWRlZC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gY3JpdGVyaWEgVGhlIGNyaXRlcmlhIG9iamVjdCB0byBnZW5lcmF0ZSB0aGUgd2hlcmUgY2xhdXNlIGZyb20uXG4gICAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSB0byB1c2UgaW4gdGhlIHdoZXJlIGNsYXVzZS5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyBBUElGaWx0ZXJDcml0ZXJpYSBvYmplY3Qgd2l0aCB0aGUgZ2VuZXJhdGVkIHdoZXJlIGNsYXVzZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlV2hlcmVDbGF1c2UoY3JpdGVyaWE6IGFueSwgY3J1ZFRhYmxlTmFtZTogc3RyaW5nLCBwcm92aWRlRW1wdHlXaGVyZUNsYXVzZSA9IGZhbHNlKTogQVBJRmlsdGVyQ3JpdGVyaWEge1xuICAgICAgICBpZiAoIXByb3ZpZGVFbXB0eVdoZXJlQ2xhdXNlICYmICghY3JpdGVyaWEgfHwgdHlwZW9mIGNyaXRlcmlhICE9PSAnb2JqZWN0JyB8fCAhT2JqZWN0LmtleXMoY3JpdGVyaWEpKSkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNyaXRlcmlhJyk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGJsYW5rIHZhbHVlcyBmcm9tIHRoZSBjcml0ZXJpYVxuICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGNyaXRlcmlhKTtcblxuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEgb2JqZWN0XG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XG4gICAgICAgIHdoZXJlQ2xhdXNlLkZpbHRlcnMgPSBbXTtcblxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBrZXkgaW4gdGhlIGNyaXRlcmlhIGFuZCBhZGQgaXQgdG8gdGhlIHdoZXJlIGNsYXVzZVxuICAgICAgICBPYmplY3Qua2V5cyhjcml0ZXJpYSk/LmZvckVhY2goKGtleTogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSB7XG4gICAgICAgICAgICAgICAgQ29uanVjdGlvbkNsYXVzZTogQ29uanVjdGlvbkNsYXVzZS5BTkQsIC8vIGNvbmp1Y3Rpb24gY2xhdXNlIGlzIEFORCBieSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgRmllbGRJRDogY3J1ZFRhYmxlTmFtZSArICcuJyArIGtleSwgLy8gY29tYmluZSB0aGUgQ1JVRCB0YWJsZSBuYW1lIHdpdGggdGhlIGZpZWxkIG5hbWVcbiAgICAgICAgICAgICAgICBSZWxhdGlvbmFsT3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLCAvLyByZWxhdGlvbmFsIG9wZXJhdG9yIGlzIEVxdWFsVG8gYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIFZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsIC8vIHZhbHVlIHR5cGUgaXMgTGl0ZXJhbCBieSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgdmFsdWU6IGNyaXRlcmlhW2tleV0sIC8vIHNldCB0aGUgdmFsdWUgb2YgdGhlIGZpbHRlclxuICAgICAgICAgICAgICAgIFNlcXVlbmNlOiAwLCAvLyBzZXQgdGhlIHNlcXVlbmNlIHRvIDAgYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIEdyb3VwSUQ6IDAgLy8gc2V0IHRoZSBncm91cCBJRCB0byAwIGJ5IGRlZmF1bHRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB3aGVyZUNsYXVzZS5GaWx0ZXJzLnB1c2goZmlsdGVyKTsgLy8gYWRkIHRoZSBmaWx0ZXIgdG8gdGhlIGFycmF5IG9mIGZpbHRlcnNcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU2V0IHRoZSBmaWx0ZXIgbG9naWMgdG8gJzEnXG4gICAgICAgIHdoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljID0gJzEnO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZ2VuZXJhdGVkIHdoZXJlIGNsYXVzZVxuICAgICAgICByZXR1cm4gd2hlcmVDbGF1c2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBHRVQgcmVxdWVzdCB0byByZXRyaWV2ZSBkYXRhIGZyb20gdGhlIHNwZWNpZmllZCBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBjcml0ZXJpYSBmb3IgdGhlIHF1ZXJ5IGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxuICAgICAqL1xuICAgIGdldChwYXlsb2FkOiBHZXRQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICAvLyBHZXQgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIHBheWxvYWRcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gR2V0IHRoZSBEYXRhU291cmNlUXVlcnlNb2RlbCBmcm9tIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBkc3E6IERhdGFTb3VyY2VRdWVyeU1vZGVsIHwgdW5kZWZpbmVkID0gYXBwT2JqZWN0LmRhdGFTb3VyY2VRdWVyeShwYXlsb2FkLmRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lKTtcblxuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgQXBwT2JqZWN0TW9kZWwgYW5kIERhdGFTb3VyY2VRdWVyeU1vZGVsXG4gICAgICAgIGlmICghYXBwT2JqZWN0IHx8ICFkc3EpIHRocm93IG5ldyBFcnJvcignQXBwT2JqZWN0IG9yIERhdGFTb3VyY2VRdWVyeSBub3QgZm91bmQnKTtcblxuICAgICAgICAvLyBHZXQgdGhlIGhlYWRlcnMgZnJvbSB0aGUgcGF5bG9hZFxuICAgICAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIEdFVCByZXF1ZXN0XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoXG4gICAgICAgICAgICAvLyBUaGUgVVJMIGZvciB0aGUgR0VUIHJlcXVlc3RcbiAgICAgICAgICAgIGAke0FQSS5nZXREU1F9LyR7YXBwT2JqZWN0Py5PYmplY3ROYW1lfS8ke2RzcT8uUXVlcnlOYW1lfWAsXG4gICAgICAgICAgICAvLyBUaGUgY3JpdGVyaWEgZm9yIHRoZSBxdWVyeVxuICAgICAgICAgICAgcGF5bG9hZC5jcml0ZXJpYSxcbiAgICAgICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxuICAgICAgICAgICAgaGVhZGVyXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0cyBkYXRhIGludG8gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBkYXRhIHRvIGluc2VydCBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBpbnNlcnQocGF5bG9hZDogSW5zZXJ0UGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gRmlsdGVyIG91dCBpbnZhbGlkIGZpZWxkcyBmcm9tIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGE6IGFueSA9IHRoaXMuZmlsdGVyVmFsaWRBcHBPYmplY3RGaWVsZHMocGF5bG9hZC5kYXRhLCBhcHBPYmplY3QpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhIHdoZXJlIGNsYXVzZSBmb3IgdGhlIGluc2VydCBvcGVyYXRpb25cbiAgICAgICAgY29uc3Qgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhID0gdGhpcy5nZW5lcmF0ZVdoZXJlQ2xhdXNlKHt9LCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUsIHRydWUpO1xuXG4gICAgICAgIC8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgdGhlIEFQSVxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZERhdGE6IEFQSVZhbHVlU2V0c1tdID0gY3JlYXRlRHluYW1pY0RhdGEoZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgcGF5bG9hZCBmb3IgdGhlIEFQSSByZXF1ZXN0XG4gICAgICAgIGNvbnN0IGFwaVBheWxvYWQgPSB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VIZWxwZXIuaW5zZXJ0UGF5bG9hZChhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUsIHdoZXJlQ2xhdXNlLCB0cmFuc2Zvcm1lZERhdGEpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIHF1ZXJ5XG4gICAgICAgIHJldHVybiB0aGlzLl9kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGFwaVBheWxvYWQsIFF1ZXJ5VHlwZS5JbnNlcnQsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgZGF0YSBpbiB0aGUgc3BlY2lmaWVkIHRhYmxlLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIGRhdGEgdG8gdXBkYXRlLCB0aGUgY3JpdGVyaWEgZm9yIHRoZSB1cGRhdGUsIGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxuICAgICAqL1xuICAgIHVwZGF0ZShwYXlsb2FkOiBVcGRhdGVQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCBhcHBPYmplY3Q6IEFwcE9iamVjdE1vZGVsID0gdGhpcy5nZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkKTtcblxuICAgICAgICAvLyBGaWx0ZXIgb3V0IGludmFsaWQgZmllbGRzIGZyb20gdGhlIGRhdGEgYmFzZWQgb24gdGhlIEFwcE9iamVjdE1vZGVsXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YTogYW55ID0gdGhpcy5maWx0ZXJWYWxpZEFwcE9iamVjdEZpZWxkcyhwYXlsb2FkLmRhdGEsIGFwcE9iamVjdCk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgYSB3aGVyZSBjbGF1c2UgYmFzZWQgb24gdGhlIGNyaXRlcmlhIHByb3ZpZGVkXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZShwYXlsb2FkLmNyaXRlcmlhLCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUpO1xuICAgICAgICBpZiAoIXdoZXJlQ2xhdXNlPy5GaWx0ZXJzPy5sZW5ndGgpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcml0ZXJpYScpO1xuXG4gICAgICAgIC8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgdGhlIEFQSVxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZERhdGE6IEFQSVZhbHVlU2V0c1tdID0gY3JlYXRlRHluYW1pY0RhdGEoZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgcGF5bG9hZCBmb3IgdGhlIEFQSSByZXF1ZXN0XG4gICAgICAgIGNvbnN0IGFwaVBheWxvYWQgPSB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VIZWxwZXIudXBkYXRlUmVxdWVzdFBheWxvYWQoYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB3aGVyZUNsYXVzZSwgdHJhbnNmb3JtZWREYXRhKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBxdWVyeVxuICAgICAgICByZXR1cm4gdGhpcy5fZHNxSGVscGVyLmV4ZWN1dGVRdWVyeShhcGlQYXlsb2FkLCBRdWVyeVR5cGUuVXBkYXRlLCBoZWFkZXJzKSBhcyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIGRhdGEgZnJvbSB0aGUgc3BlY2lmaWVkIHRhYmxlLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIGNyaXRlcmlhIGZvciB0aGUgZGVsZXRlIGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxuICAgICAqL1xuICAgIGRlbGV0ZShwYXlsb2FkOiBEZWxldGVQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCBhcHBPYmplY3Q6IEFwcE9iamVjdE1vZGVsID0gdGhpcy5nZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkKTtcblxuICAgICAgICAvLyBHZW5lcmF0ZSBhIHdoZXJlIGNsYXVzZSBiYXNlZCBvbiB0aGUgY3JpdGVyaWEgcHJvdmlkZWRcbiAgICAgICAgY29uc3Qgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhID0gdGhpcy5nZW5lcmF0ZVdoZXJlQ2xhdXNlKHBheWxvYWQuY3JpdGVyaWEsIGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSk7XG4gICAgICAgIGlmICghd2hlcmVDbGF1c2U/LkZpbHRlcnM/Lmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNyaXRlcmlhJyk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgdGhlIHBheWxvYWQgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLmRlbGV0ZVBheWxvYWQoYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB3aGVyZUNsYXVzZSk7XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLkRlbGV0ZSwgaGVhZGVycykgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBzdG9yZWQgcHJvY2VkdXJlIHVzaW5nIHJhdyBTUUwuXG4gICAgICogQHBhcmFtIHNwIFRoZSBzdG9yZWQgcHJvY2VkdXJlIHF1ZXJ5IHN0cmluZy5cbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBBUEkgUE9TVCByZXF1ZXN0LlxuICAgICAqL1xuICAgIGV4ZWN1dGVTcChzcDogc3RyaW5nLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICAvLyBSZXRyaWV2ZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxuICAgICAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xuICAgICAgICBcbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgc3RvcmVkIHByb2NlZHVyZSB1c2luZyBhIFBPU1QgcmVxdWVzdFxuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0KGAke0FQSS5yYXdTUUx9P3F1ZXJ5PSR7c3B9YCwge30sIGhlYWRlcikgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxufVxuIl19
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNydWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQWdCLE1BQU0sMkJBQTJCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHMUYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBR2hFLE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRXFCLG9CQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6RCwyQkFBc0IsR0FBMEIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDOUUsZUFBVSxHQUFjLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxnQkFBVyxHQUFH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TSxFQUFFLE9BQU8sQ0FBa0MsQ0FBQztJQUNoSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsRUFBVSxFQUFFLE9BQWE7UUFDL0IsbUNBQW1DO1FBQ25DLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuQyxvREFBb0Q7UUFDcEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBa0MsQ0FBQztJQUMzRyxDQUFDOytFQXJOUSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjLG1CQURELE1BQU07O2lGQUNuQixjQUFjO2NBRDFCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uQXBpUmVzcG9uc2UsIENydWRCYXNlUGF5bG9hZCwgRGVsZXRlUGF5bG9hZCwgR2V0UGF5bG9hZCwgSW5zZXJ0UGF5bG9hZCwgVXBkYXRlUGF5bG9hZCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEFwcE9iamVjdE1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9hcHAtb2JqZWN0Lm1vZGVsXCI7XG5pbXBvcnQgeyBNZXRhZGF0YUhlbHBlciB9IGZyb20gXCIuLi9oZWxwZXJzL2NvbW1vbi9tZXRhLWRhdGEuaGVscGVyc1wiO1xuaW1wb3J0IHsgY3JlYXRlRHluYW1pY0RhdGEsIHJlbW92ZUJsYW5rVmFsdWUgfSBmcm9tIFwiLi4vdXRpbHMvanNvbi51dGlsXCI7XG5pbXBvcnQgeyBBUElGaWx0ZXJDcml0ZXJpYSwgQVBJVmFsdWVTZXRzIH0gZnJvbSBcIi4uL21vZGVscy9hcGktcXVlcnkuY2xhc3NcIjtcbmltcG9ydCB7IFJlcXVlc3RSZXNwb25zZUhlbHBlciB9IGZyb20gXCIuLi9oZWxwZXJzL2NvbW1vbi9yZXEtcmVzLmhlbHBlcnNcIjtcbmltcG9ydCB7IERTUUhlbHBlciB9IGZyb20gXCIuLi9oZWxwZXJzL2NvbW1vbi9kc3EuaGVscGVyc1wiO1xuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSBcIi4uL2VudW1zL3F1ZXJ5LmVudW1cIjtcbmltcG9ydCB7IENvbmp1Y3Rpb25DbGF1c2UsIEZpbHRlclZhbHVlVHlwZSwgUmVsYXRpb25hbE9wZXJhdG9yIH0gZnJvbSBcIi4uL2VudW1zL2RzcS5lbnVtXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyeU1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9kYXRhLXNvdXJjZS1xdWVyeS5tb2RlbFwiO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBnZXRIZWFkZXJzIH0gZnJvbSBcIi4uL3V0aWxzL3JlcS1yZXMudXRpbFwiO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGFiQ3J1ZFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX21ldGFkYXRhSGVscGVyOiBNZXRhZGF0YUhlbHBlciA9IGluamVjdChNZXRhZGF0YUhlbHBlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmVxdWVzdFJlc3BvbnNlSGVscGVyOiBSZXF1ZXN0UmVzcG9uc2VIZWxwZXIgPSBpbmplY3QoUmVxdWVzdFJlc3BvbnNlSGVscGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kc3FIZWxwZXI6IERTUUhlbHBlciA9IGluamVjdChEU1FIZWxwZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBBcHBPYmplY3RNb2RlbCBmcm9tIHRoZSBnaXZlbiBwYXlsb2FkLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIHdpdGggZWl0aGVyIGRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lIG9yIGFwcE9iamVjdElkT3JOYW1lLlxuICAgICAqIEByZXR1cm5zIFRoZSBBcHBPYmplY3RNb2RlbC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQ6IENydWRCYXNlUGF5bG9hZCk6IEFwcE9iamVjdE1vZGVsIHtcbiAgICAgICAgbGV0IGFwcE9iamVjdDtcblxuICAgICAgICBpZiAocGF5bG9hZD8uZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUpIHtcbiAgICAgICAgICAgIC8vIElmIGRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lIGlzIGdpdmVuLCBnZXQgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIGRhdGEgc291cmNlIHF1ZXJ5XG4gICAgICAgICAgICBhcHBPYmplY3QgPSB0aGlzLl9tZXRhZGF0YUhlbHBlci5nZXREYXRhU291cmNlUXVlcnlCeUlkT3JOYW1lKHBheWxvYWQuZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUpPy5wYXJlbnRBcHBPYmplY3Q7XG5cbiAgICAgICAgfSBlbHNlIGlmIChwYXlsb2FkPy5hcHBPYmplY3RJZE9yTmFtZSkge1xuICAgICAgICAgICAgLy8gSWYgYXBwT2JqZWN0SWRPck5hbWUgaXMgZ2l2ZW4sIGdldCB0aGUgQXBwT2JqZWN0TW9kZWwgZGlyZWN0bHlcbiAgICAgICAgICAgIGFwcE9iamVjdCA9IHRoaXMuX21ldGFkYXRhSGVscGVyLmdldEFwcE9iamVjdEJ5SWRPck5hbWUocGF5bG9hZC5hcHBPYmplY3RJZE9yTmFtZSk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghYXBwT2JqZWN0Py5JRCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcHBPYmplY3Qgbm90IGZvdW5kJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXBwT2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbHRlcnMgb3V0IGludmFsaWQgZmllbGRzIGZyb20gdGhlIHByb3ZpZGVkIGRhdGEgYmFzZWQgb24gdGhlIEFwcE9iamVjdE1vZGVsLlxuICAgICAqIE9wdGlvbmFsbHkgcmV0YWlucyBwcmltYXJ5IGtleSBmaWVsZHMuXG4gICAgICogXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgb2JqZWN0IHRvIGZpbHRlci5cbiAgICAgKiBAcGFyYW0gYXBwT2JqZWN0IFRoZSBBcHBPYmplY3RNb2RlbCB1c2VkIHRvIHZhbGlkYXRlIHRoZSBmaWVsZHMuXG4gICAgICogQHBhcmFtIGtlZXBQcmltYXJ5S2V5IE9wdGlvbmFsIGZsYWcgdG8gcmV0YWluIHByaW1hcnkga2V5IGZpZWxkcy4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAgICogQHJldHVybnMgQSBuZXcgb2JqZWN0IHdpdGggb25seSB2YWxpZCBmaWVsZHMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBmaWx0ZXJWYWxpZEFwcE9iamVjdEZpZWxkcyhkYXRhOiBhbnksIGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwsIGtlZXBQcmltYXJ5S2V5ID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKCFkYXRhIHx8IHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JykgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKTtcblxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcblxuICAgICAgICAvLyBSZW1vdmUgZmllbGRzIHdpdGggYmxhbmsgdmFsdWVzXG4gICAgICAgIHJlbW92ZUJsYW5rVmFsdWUoZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBrZXkgaW4gdGhlIGZpbHRlcmVkIGRhdGFcbiAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVyZWREYXRhKT8uZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhcHBGaWVsZCA9IGFwcE9iamVjdC5maWVsZChrZXkpO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRGaWVsZCA9IGFwcE9iamVjdC5DaGlsZFJlbGF0aW9uU2hpcHM/LnNvbWUoKHgpID0+IHg/LmNoaWxkRGV0YWlscz8uTG9va3VwT2JqZWN0ID09PSBrZXkpO1xuXG4gICAgICAgICAgICAvLyBEZWxldGUgdGhlIGZpZWxkIGlmIGl0IGlzIG5vdCB2YWxpZCBvciBpZiBwcmltYXJ5IGtleXMgc2hvdWxkIG5vdCBiZSBrZXB0XG4gICAgICAgICAgICBpZiAoIShhcHBGaWVsZCB8fCBjaGlsZEZpZWxkKSB8fCAoa2VlcFByaW1hcnlLZXkgJiYgYXBwRmllbGQ/LklzUHJpbWFyeUtleSkpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZmlsdGVyZWREYXRhW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmaWx0ZXJlZERhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIGEgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHRoZSBjcml0ZXJpYSBwcm92aWRlZC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gY3JpdGVyaWEgVGhlIGNyaXRlcmlhIG9iamVjdCB0byBnZW5lcmF0ZSB0aGUgd2hlcmUgY2xhdXNlIGZyb20uXG4gICAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSB0byB1c2UgaW4gdGhlIHdoZXJlIGNsYXVzZS5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyBBUElGaWx0ZXJDcml0ZXJpYSBvYmplY3Qgd2l0aCB0aGUgZ2VuZXJhdGVkIHdoZXJlIGNsYXVzZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlV2hlcmVDbGF1c2UoY3JpdGVyaWE6IGFueSwgY3J1ZFRhYmxlTmFtZTogc3RyaW5nLCBwcm92aWRlRW1wdHlXaGVyZUNsYXVzZSA9IGZhbHNlKTogQVBJRmlsdGVyQ3JpdGVyaWEge1xuICAgICAgICBpZiAoIXByb3ZpZGVFbXB0eVdoZXJlQ2xhdXNlICYmICghY3JpdGVyaWEgfHwgdHlwZW9mIGNyaXRlcmlhICE9PSAnb2JqZWN0JyB8fCAhT2JqZWN0LmtleXMoY3JpdGVyaWEpKSkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNyaXRlcmlhJyk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGJsYW5rIHZhbHVlcyBmcm9tIHRoZSBjcml0ZXJpYVxuICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGNyaXRlcmlhKTtcblxuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEgb2JqZWN0XG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XG4gICAgICAgIHdoZXJlQ2xhdXNlLkZpbHRlcnMgPSBbXTtcblxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBrZXkgaW4gdGhlIGNyaXRlcmlhIGFuZCBhZGQgaXQgdG8gdGhlIHdoZXJlIGNsYXVzZVxuICAgICAgICBPYmplY3Qua2V5cyhjcml0ZXJpYSk/LmZvckVhY2goKGtleTogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSB7XG4gICAgICAgICAgICAgICAgQ29uanVjdGlvbkNsYXVzZTogQ29uanVjdGlvbkNsYXVzZS5BTkQsIC8vIGNvbmp1Y3Rpb24gY2xhdXNlIGlzIEFORCBieSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgRmllbGRJRDogY3J1ZFRhYmxlTmFtZSArICcuJyArIGtleSwgLy8gY29tYmluZSB0aGUgQ1JVRCB0YWJsZSBuYW1lIHdpdGggdGhlIGZpZWxkIG5hbWVcbiAgICAgICAgICAgICAgICBSZWxhdGlvbmFsT3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLCAvLyByZWxhdGlvbmFsIG9wZXJhdG9yIGlzIEVxdWFsVG8gYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIFZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsIC8vIHZhbHVlIHR5cGUgaXMgTGl0ZXJhbCBieSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgdmFsdWU6IGNyaXRlcmlhW2tleV0sIC8vIHNldCB0aGUgdmFsdWUgb2YgdGhlIGZpbHRlclxuICAgICAgICAgICAgICAgIFNlcXVlbmNlOiAwLCAvLyBzZXQgdGhlIHNlcXVlbmNlIHRvIDAgYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIEdyb3VwSUQ6IDAgLy8gc2V0IHRoZSBncm91cCBJRCB0byAwIGJ5IGRlZmF1bHRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB3aGVyZUNsYXVzZS5GaWx0ZXJzLnB1c2goZmlsdGVyKTsgLy8gYWRkIHRoZSBmaWx0ZXIgdG8gdGhlIGFycmF5IG9mIGZpbHRlcnNcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU2V0IHRoZSBmaWx0ZXIgbG9naWMgdG8gJzEnXG4gICAgICAgIHdoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljID0gJzEnO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZ2VuZXJhdGVkIHdoZXJlIGNsYXVzZVxuICAgICAgICByZXR1cm4gd2hlcmVDbGF1c2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBHRVQgcmVxdWVzdCB0byByZXRyaWV2ZSBkYXRhIGZyb20gdGhlIHNwZWNpZmllZCBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBjcml0ZXJpYSBmb3IgdGhlIHF1ZXJ5IGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxuICAgICAqL1xuICAgIGdldChwYXlsb2FkOiBHZXRQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICAvLyBHZXQgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIHBheWxvYWRcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gR2V0IHRoZSBEYXRhU291cmNlUXVlcnlNb2RlbCBmcm9tIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBkc3E6IERhdGFTb3VyY2VRdWVyeU1vZGVsIHwgdW5kZWZpbmVkID0gYXBwT2JqZWN0LmRhdGFTb3VyY2VRdWVyeShwYXlsb2FkLmRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lKTtcblxuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgQXBwT2JqZWN0TW9kZWwgYW5kIERhdGFTb3VyY2VRdWVyeU1vZGVsXG4gICAgICAgIGlmICghYXBwT2JqZWN0IHx8ICFkc3EpIHRocm93IG5ldyBFcnJvcignQXBwT2JqZWN0IG9yIERhdGFTb3VyY2VRdWVyeSBub3QgZm91bmQnKTtcblxuICAgICAgICAvLyBHZXQgdGhlIGhlYWRlcnMgZnJvbSB0aGUgcGF5bG9hZFxuICAgICAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIEdFVCByZXF1ZXN0XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoXG4gICAgICAgICAgICAvLyBUaGUgVVJMIGZvciB0aGUgR0VUIHJlcXVlc3RcbiAgICAgICAgICAgIGAke0FQSS5nZXREU1F9LyR7YXBwT2JqZWN0Py5PYmplY3ROYW1lfS8ke2RzcT8uUXVlcnlOYW1lfWAsXG4gICAgICAgICAgICAvLyBUaGUgY3JpdGVyaWEgZm9yIHRoZSBxdWVyeVxuICAgICAgICAgICAgcGF5bG9hZC5jcml0ZXJpYSxcbiAgICAgICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxuICAgICAgICAgICAgaGVhZGVyXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0cyBkYXRhIGludG8gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBkYXRhIHRvIGluc2VydCBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBpbnNlcnQocGF5bG9hZDogSW5zZXJ0UGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gRmlsdGVyIG91dCBpbnZhbGlkIGZpZWxkcyBmcm9tIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGE6IGFueSA9IHRoaXMuZmlsdGVyVmFsaWRBcHBPYmplY3RGaWVsZHMocGF5bG9hZC5kYXRhLCBhcHBPYmplY3QpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhIHdoZXJlIGNsYXVzZSBmb3IgdGhlIGluc2VydCBvcGVyYXRpb25cbiAgICAgICAgY29uc3Qgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhID0gdGhpcy5nZW5lcmF0ZVdoZXJlQ2xhdXNlKHt9LCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUsIHRydWUpO1xuXG4gICAgICAgIC8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgdGhlIEFQSVxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZERhdGE6IEFQSVZhbHVlU2V0c1tdID0gY3JlYXRlRHluYW1pY0RhdGEoZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgcGF5bG9hZCBmb3IgdGhlIEFQSSByZXF1ZXN0XG4gICAgICAgIGNvbnN0IGFwaVBheWxvYWQgPSB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VIZWxwZXIuaW5zZXJ0UGF5bG9hZChhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUsIHdoZXJlQ2xhdXNlLCB0cmFuc2Zvcm1lZERhdGEpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIHF1ZXJ5XG4gICAgICAgIHJldHVybiB0aGlzLl9kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGFwaVBheWxvYWQsIFF1ZXJ5VHlwZS5JbnNlcnQsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgZGF0YSBpbiB0aGUgc3BlY2lmaWVkIHRhYmxlLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIGRhdGEgdG8gdXBkYXRlLCB0aGUgY3JpdGVyaWEgZm9yIHRoZSB1cGRhdGUsIGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxuICAgICAqL1xuICAgIHVwZGF0ZShwYXlsb2FkOiBVcGRhdGVQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCBhcHBPYmplY3Q6IEFwcE9iamVjdE1vZGVsID0gdGhpcy5nZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkKTtcblxuICAgICAgICAvLyBGaWx0ZXIgb3V0IGludmFsaWQgZmllbGRzIGZyb20gdGhlIGRhdGEgYmFzZWQgb24gdGhlIEFwcE9iamVjdE1vZGVsXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YTogYW55ID0gdGhpcy5maWx0ZXJWYWxpZEFwcE9iamVjdEZpZWxkcyhwYXlsb2FkLmRhdGEsIGFwcE9iamVjdCk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgYSB3aGVyZSBjbGF1c2UgYmFzZWQgb24gdGhlIGNyaXRlcmlhIHByb3ZpZGVkXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZShwYXlsb2FkLmNyaXRlcmlhLCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUpO1xuICAgICAgICBpZiAoIXdoZXJlQ2xhdXNlPy5GaWx0ZXJzPy5sZW5ndGgpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcml0ZXJpYScpO1xuXG4gICAgICAgIC8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgdGhlIEFQSVxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZERhdGE6IEFQSVZhbHVlU2V0c1tdID0gY3JlYXRlRHluYW1pY0RhdGEoZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgcGF5bG9hZCBmb3IgdGhlIEFQSSByZXF1ZXN0XG4gICAgICAgIGNvbnN0IGFwaVBheWxvYWQgPSB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VIZWxwZXIudXBkYXRlUmVxdWVzdFBheWxvYWQoYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB3aGVyZUNsYXVzZSwgdHJhbnNmb3JtZWREYXRhKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBxdWVyeVxuICAgICAgICByZXR1cm4gdGhpcy5fZHNxSGVscGVyLmV4ZWN1dGVRdWVyeShhcGlQYXlsb2FkLCBRdWVyeVR5cGUuVXBkYXRlLCBoZWFkZXJzKSBhcyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIGRhdGEgZnJvbSB0aGUgc3BlY2lmaWVkIHRhYmxlLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIGNvbnRhaW5pbmcgdGhlIGNyaXRlcmlhIGZvciB0aGUgZGVsZXRlIGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxuICAgICAqL1xuICAgIGRlbGV0ZShwYXlsb2FkOiBEZWxldGVQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCBhcHBPYmplY3Q6IEFwcE9iamVjdE1vZGVsID0gdGhpcy5nZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkKTtcblxuICAgICAgICAvLyBHZW5lcmF0ZSBhIHdoZXJlIGNsYXVzZSBiYXNlZCBvbiB0aGUgY3JpdGVyaWEgcHJvdmlkZWRcbiAgICAgICAgY29uc3Qgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhID0gdGhpcy5nZW5lcmF0ZVdoZXJlQ2xhdXNlKHBheWxvYWQuY3JpdGVyaWEsIGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSk7XG4gICAgICAgIGlmICghd2hlcmVDbGF1c2U/LkZpbHRlcnM/Lmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNyaXRlcmlhJyk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgdGhlIHBheWxvYWQgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLmRlbGV0ZVBheWxvYWQoYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB3aGVyZUNsYXVzZSk7XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLkRlbGV0ZSwgaGVhZGVycykgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBzdG9yZWQgcHJvY2VkdXJlIHVzaW5nIHJhdyBTUUwuXG4gICAgICogQHBhcmFtIHNwIFRoZSBzdG9yZWQgcHJvY2VkdXJlIHF1ZXJ5IHN0cmluZy5cbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBBUEkgUE9TVCByZXF1ZXN0LlxuICAgICAqL1xuICAgIGV4ZWN1dGVTcChzcDogc3RyaW5nLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICAvLyBSZXRyaWV2ZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxuICAgICAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIHN0b3JlZCBwcm9jZWR1cmUgdXNpbmcgYSBQT1NUIHJlcXVlc3RcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FwaVNlcnZpY2UucG9zdChgJHtBUEkucmF3U1FMfT9xdWVyeT0ke3NwfWAsIHt9LCBoZWFkZXIpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cbn1cbiJdfQ==
@@ -124,7 +124,7 @@ export function removeBlankValue(dataObj) {
124
124
  }
125
125
  else {
126
126
  dataObj[key].forEach((item, i) => {
127
- if (isValueBlank(item.Value)) {
127
+ if (isValueBlank(item)) {
128
128
  dataObj[key].splice(i, 1);
129
129
  }
130
130
  else {
@@ -162,4 +162,4 @@ export function removeBlankArrayKeys(dataObj) {
162
162
  function isValueBlank(value) {
163
163
  return value == null || value == '' || value == undefined;
164
164
  }
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL2pzb24udXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsMENBQTBDO0FBQzFDLHVEQUF1RDtBQUV2RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUN4RSxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVE7SUFDeEMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFdBQVcsQ0FBQyxLQUFVO0lBQzdCLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxLQUFLLEdBQVEsRUFBRSxDQUFDO1lBQ3BCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFD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SUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFFSCxDQUFDO2FBQU0sSUFBSSxHQUFHLEtBQUssT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBWTtJQUMvQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLENBQU0sRUFBRSxFQUFFO1FBQ3ZDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ25FLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsS0FBVTtJQUM5QixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsSUFBSSxLQUFLLElBQUksU0FBUyxDQUFDO0FBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cclxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbi8qKlxyXG4gKiBWYWxpZGF0ZXMgaWYgYSBzdHJpbmcgaXMgYSB2YWxpZCBKU09OLlxyXG4gKiBAcGFyYW0gc3RyIFRoZSBzdHJpbmcgdG8gdmFsaWRhdGUuXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cmluZyBpcyBhIHZhbGlkIEpTT04sIGZhbHNlIG90aGVyd2lzZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUpTT04oc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICB0cnkge1xyXG4gICAgY29uc3QganNvbiA9IEpTT04ucGFyc2Uoc3RyKTtcclxuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoanNvbikuc2xpY2UoOCwgLTEpID09PSAnT2JqZWN0JztcclxuICB9IGNhdGNoIChlKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBkeW5hbWljIGRhdGEgYmFzZWQgb24gdGhlIGlucHV0IG9iamVjdFxyXG4gKiBAcGFyYW0gb2JqIFRoZSBpbnB1dCBvYmplY3QgdG8gY3JlYXRlIGR5bmFtaWMgZGF0YSBmcm9tXHJcbiAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgYXJyYXlcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEeW5hbWljRGF0YShvYmo6IGFueSkge1xyXG4gIHJldHVybiBmb3JtYXRBcnJheShvYmopO1xyXG59XHJcblxyXG4vKipcclxuICogRm9ybWF0cyB0aGUgaW5wdXQgb2JqZWN0IGludG8gYSBuZXcgYXJyYXkgd2l0aCBBcHBGaWVsZElEIGFuZCBWYWx1ZSBwYWlyc1xyXG4gKiBAcGFyYW0gaW5wdXQgVGhlIGlucHV0IG9iamVjdCB0byBiZSBmb3JtYXR0ZWRcclxuICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBhcnJheSB3aXRoIEFwcEZpZWxkSUQgYW5kIFZhbHVlIHBhaXJzXHJcbiAqL1xyXG5mdW5jdGlvbiBmb3JtYXRBcnJheShpbnB1dDogYW55KSB7XHJcbiAgaWYgKGlucHV0ICE9PSBudWxsICYmIE9iamVjdC5rZXlzKGlucHV0KT8ubGVuZ3RoKSB7XHJcbiAgICBjb25zdCBuZXdPYmogPSBPYmplY3Qua2V5cyhpbnB1dCkubWFwKChrZXkpID0+IHtcclxuICAgICAgbGV0IFZhbHVlOiBhbnkgPSAnJztcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5wdXRba2V5XSkpIHtcclxuICAgICAgICBpZiAoa2V5ID09PSAnQ2hpbGRfUmVsYXRpb25zaGlwJykge1xyXG4gICAgICAgICAgVmFsdWUgPSBoYW5kbGVDaGlsZFJlbGF0aW9uc2hpcChpbnB1dFtrZXldKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgVmFsdWUgPSBoYW5kbGVjaGlsZChpbnB1dFtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGlucHV0W2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgVmFsdWUgPSBoYW5kbGVPYmplY3QoaW5wdXRba2V5XSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgVmFsdWUgPSBpbnB1dFtrZXldO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IEFwcEZpZWxkSUQ6IGtleSwgVmFsdWUgfTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5ld09iajtcclxuICB9XHJcbiAgcmV0dXJuIGlucHV0O1xyXG59XHJcblxyXG4vKipcclxuICogSGFuZGxlcyB0aGUgQ2hpbGRfUmVsYXRpb25zaGlwIGtleSBpbiB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBjaGlsZCBUaGUgdmFsdWUgb2YgdGhlIENoaWxkX1JlbGF0aW9uc2hpcCBrZXlcclxuICogQHJldHVybnMgVGhlIEpTT04gc3RyaW5naWZpZWQgdmFsdWUgaWYgbm90IG51bGwsIGVtcHR5LCBvciAnbnVsbCc7IG90aGVyd2lzZSBudWxsXHJcbiAqL1xyXG5mdW5jdGlvbiBoYW5kbGVDaGlsZFJlbGF0aW9uc2hpcChjaGlsZDogYW55KSB7XHJcbiAgaWYgKGNoaWxkICE9PSBudWxsICYmIGNoaWxkICE9PSAnJyAmJiBjaGlsZCAhPT0gJ251bGwnKSB7XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoY2hpbGQpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhbmRsZWNoaWxkKGlucHV0OiBhbnkpIHtcclxuICBjb25zdCBhcnJheTogYW55W10gPSBbXTtcclxuICBpZiAoaW5wdXQgIT09IG51bGwpIHtcclxuICAgIGlucHV0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdPYmogPSBPYmplY3Qua2V5cyhlbGVtZW50KS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIGxldCBWYWx1ZTogYW55ID0gJyc7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZWxlbWVudFtrZXldKSkge1xyXG4gICAgICAgICAgVmFsdWUgPSBoYW5kbGVjaGlsZChlbGVtZW50W2tleV0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGVsZW1lbnRba2V5XSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIFZhbHVlID0gZm9ybWF0QXJyYXkoZWxlbWVudFtrZXldKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgVmFsdWUgPSBlbGVtZW50W2tleV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7IEFwcEZpZWxkSUQ6IGtleSwgVmFsdWUgfTtcclxuICAgICAgfSk7XHJcbiAgICAgIGFycmF5LnB1c2gobmV3T2JqKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFycmF5O1xyXG4gIH1cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhhbmRsZXMgb2JqZWN0IGtleXMgaW4gdGhlIGlucHV0IG9iamVjdCBiYXNlZCBvbiBzcGVjaWZpYyBjYXNlc1xyXG4gKiBAcGFyYW0gb2JqIFRoZSBvYmplY3QgdG8gYmUgaGFuZGxlZFxyXG4gKiBAcmV0dXJucyBUaGUgSlNPTiBzdHJpbmdpZmllZCB2YWx1ZSBiYXNlZCBvbiBzcGVjaWZpYyBjYXNlcyBvciByZWN1cnNpdmVseSBmb3JtYXRzIHRoZSBvYmplY3RcclxuICovXHJcbmZ1bmN0aW9uIGhhbmRsZU9iamVjdChvYmo6IGFueSkge1xyXG4gIGlmIChvYmogPT09IG51bGwpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBzd2l0Y2ggKE9iamVjdC5rZXlzKG9iailbMF0pIHtcclxuICAgIGNhc2UgJ0NvbnRhaW5lcic6XHJcbiAgICBjYXNlICdTZXR0aW5nX1ZhbHVlJzpcclxuICAgIGNhc2UgJ0NoaWxkX1JlbGF0aW9uc2hpcCc6XHJcbiAgICBjYXNlICdTY3JlZW5Db25maWd1cmF0aW9uJzpcclxuICAgIGNhc2UgJ0FwcE9iamVjdENvbmZpZ3VyYXRpb24nOlxyXG4gICAgY2FzZSAnU2NoZW1hQ29uZmlnJzpcclxuICAgIGNhc2UgJ0NyaXRlcmlhJzpcclxuICAgIGNhc2UgJ0FwcGx5Q3JpdGVyaWEnOlxyXG4gICAgY2FzZSAnU0xBU2V0dGluZyc6XHJcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmopO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIGZvcm1hdEFycmF5KG9iaik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlcyBibGFuayB2YWx1ZXMgZnJvbSB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBkYXRhT2JqIFRoZSBpbnB1dCBvYmplY3QgdG8gcmVtb3ZlIGJsYW5rIHZhbHVlcyBmcm9tXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQmxhbmtWYWx1ZShkYXRhT2JqOiBhbnkpIHtcclxuICBPYmplY3Qua2V5cyhkYXRhT2JqKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGFPYmpba2V5XSkpIHtcclxuICAgICAgaWYgKGRhdGFPYmpba2V5XS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICBkZWxldGUgZGF0YU9ialtrZXldO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRhdGFPYmpba2V5XS5mb3JFYWNoKChpdGVtOiB7IFZhbHVlOiBhbnkgfSwgaTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoaXNWYWx1ZUJsYW5rKGl0ZW0uVmFsdWUpKSB7XHJcbiAgICAgICAgICAgIGRhdGFPYmpba2V5XS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgXHJcbiAgICB9IGVsc2UgaWYgKGRhdGFPYmpba2V5XSAmJiB0eXBlb2YgZGF0YU9ialtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICBpZiAoT2JqZWN0LmtleXMoZGF0YU9ialtrZXldKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICBkZWxldGUgZGF0YU9ialtrZXldO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlbW92ZUJsYW5rVmFsdWUoZGF0YU9ialtrZXldKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnVmFsdWUnICYmIGlzVmFsdWVCbGFuayhkYXRhT2JqW2tleV0pKSB7XHJcbiAgICAgIGRlbGV0ZSBkYXRhT2JqW2tleV07XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGJsYW5rIGFycmF5IGtleXMgZnJvbSB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBkYXRhT2JqIFRoZSBpbnB1dCBvYmplY3QgdG8gcmVtb3ZlIGJsYW5rIGFycmF5IGtleXMgZnJvbVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJsYW5rQXJyYXlLZXlzKGRhdGFPYmo6IGFueSkge1xyXG4gIGRhdGFPYmouZm9yRWFjaCgoZWxlbWVudDogYW55LCBpOiBhbnkpID0+IHtcclxuICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuaGFzT3duUHJvcGVydHkoJ1ZhbHVlJykpIHtcclxuICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LlZhbHVlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50LlZhbHVlLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgZGF0YU9iai5zcGxpY2UoaSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNWYWx1ZUJsYW5rKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PSAnJyB8fCB2YWx1ZSA9PSB1bmRlZmluZWQ7XHJcbn0iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL2pzb24udXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsMENBQTBDO0FBQzFDLHVEQUF1RDtBQUV2RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUN4RSxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVE7SUFDeEMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFdBQVcsQ0FBQyxLQUFVO0lBQzdCLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxLQUFLLEdBQVEsRUFBRSxDQUFDO1lBQ3BCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFD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T0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUVILENBQUM7YUFBTSxJQUFJLEdBQUcsS0FBSyxPQUFPLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDekQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUFZO0lBQy9DLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsQ0FBTSxFQUFFLEVBQUU7UUFDdkMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQy9DLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbkUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxLQUFVO0lBQzlCLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEtBQUssSUFBSSxTQUFTLENBQUM7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90b3R5cGUtYnVpbHRpbnMgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuLyoqXHJcbiAqIFZhbGlkYXRlcyBpZiBhIHN0cmluZyBpcyBhIHZhbGlkIEpTT04uXHJcbiAqIEBwYXJhbSBzdHIgVGhlIHN0cmluZyB0byB2YWxpZGF0ZS5cclxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgSlNPTiwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlSlNPTihzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZShzdHIpO1xyXG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChqc29uKS5zbGljZSg4LCAtMSkgPT09ICdPYmplY3QnO1xyXG4gIH0gY2F0Y2ggKGUpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGR5bmFtaWMgZGF0YSBiYXNlZCBvbiB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBvYmogVGhlIGlucHV0IG9iamVjdCB0byBjcmVhdGUgZHluYW1pYyBkYXRhIGZyb21cclxuICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBhcnJheVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUR5bmFtaWNEYXRhKG9iajogYW55KSB7XHJcbiAgcmV0dXJuIGZvcm1hdEFycmF5KG9iaik7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGb3JtYXRzIHRoZSBpbnB1dCBvYmplY3QgaW50byBhIG5ldyBhcnJheSB3aXRoIEFwcEZpZWxkSUQgYW5kIFZhbHVlIHBhaXJzXHJcbiAqIEBwYXJhbSBpbnB1dCBUaGUgaW5wdXQgb2JqZWN0IHRvIGJlIGZvcm1hdHRlZFxyXG4gKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIGFycmF5IHdpdGggQXBwRmllbGRJRCBhbmQgVmFsdWUgcGFpcnNcclxuICovXHJcbmZ1bmN0aW9uIGZvcm1hdEFycmF5KGlucHV0OiBhbnkpIHtcclxuICBpZiAoaW5wdXQgIT09IG51bGwgJiYgT2JqZWN0LmtleXMoaW5wdXQpPy5sZW5ndGgpIHtcclxuICAgIGNvbnN0IG5ld09iaiA9IE9iamVjdC5rZXlzKGlucHV0KS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICBsZXQgVmFsdWU6IGFueSA9ICcnO1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShpbnB1dFtrZXldKSkge1xyXG4gICAgICAgIGlmIChrZXkgPT09ICdDaGlsZF9SZWxhdGlvbnNoaXAnKSB7XHJcbiAgICAgICAgICBWYWx1ZSA9IGhhbmRsZUNoaWxkUmVsYXRpb25zaGlwKGlucHV0W2tleV0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBWYWx1ZSA9IGhhbmRsZWNoaWxkKGlucHV0W2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5wdXRba2V5XSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICBWYWx1ZSA9IGhhbmRsZU9iamVjdChpbnB1dFtrZXldKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBWYWx1ZSA9IGlucHV0W2tleV07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHsgQXBwRmllbGRJRDoga2V5LCBWYWx1ZSB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV3T2JqO1xyXG4gIH1cclxuICByZXR1cm4gaW5wdXQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIYW5kbGVzIHRoZSBDaGlsZF9SZWxhdGlvbnNoaXAga2V5IGluIHRoZSBpbnB1dCBvYmplY3RcclxuICogQHBhcmFtIGNoaWxkIFRoZSB2YWx1ZSBvZiB0aGUgQ2hpbGRfUmVsYXRpb25zaGlwIGtleVxyXG4gKiBAcmV0dXJucyBUaGUgSlNPTiBzdHJpbmdpZmllZCB2YWx1ZSBpZiBub3QgbnVsbCwgZW1wdHksIG9yICdudWxsJzsgb3RoZXJ3aXNlIG51bGxcclxuICovXHJcbmZ1bmN0aW9uIGhhbmRsZUNoaWxkUmVsYXRpb25zaGlwKGNoaWxkOiBhbnkpIHtcclxuICBpZiAoY2hpbGQgIT09IG51bGwgJiYgY2hpbGQgIT09ICcnICYmIGNoaWxkICE9PSAnbnVsbCcpIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShjaGlsZCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gaGFuZGxlY2hpbGQoaW5wdXQ6IGFueSkge1xyXG4gIGNvbnN0IGFycmF5OiBhbnlbXSA9IFtdO1xyXG4gIGlmIChpbnB1dCAhPT0gbnVsbCkge1xyXG4gICAgaW5wdXQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld09iaiA9IE9iamVjdC5rZXlzKGVsZW1lbnQpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgbGV0IFZhbHVlOiBhbnkgPSAnJztcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlbGVtZW50W2tleV0pKSB7XHJcbiAgICAgICAgICBWYWx1ZSA9IGhhbmRsZWNoaWxkKGVsZW1lbnRba2V5XSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZWxlbWVudFtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgVmFsdWUgPSBmb3JtYXRBcnJheShlbGVtZW50W2tleV0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBWYWx1ZSA9IGVsZW1lbnRba2V5XTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHsgQXBwRmllbGRJRDoga2V5LCBWYWx1ZSB9O1xyXG4gICAgICB9KTtcclxuICAgICAgYXJyYXkucHVzaChuZXdPYmopO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYXJyYXk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogSGFuZGxlcyBvYmplY3Qga2V5cyBpbiB0aGUgaW5wdXQgb2JqZWN0IGJhc2VkIG9uIHNwZWNpZmljIGNhc2VzXHJcbiAqIEBwYXJhbSBvYmogVGhlIG9iamVjdCB0byBiZSBoYW5kbGVkXHJcbiAqIEByZXR1cm5zIFRoZSBKU09OIHN0cmluZ2lmaWVkIHZhbHVlIGJhc2VkIG9uIHNwZWNpZmljIGNhc2VzIG9yIHJlY3Vyc2l2ZWx5IGZvcm1hdHMgdGhlIG9iamVjdFxyXG4gKi9cclxuZnVuY3Rpb24gaGFuZGxlT2JqZWN0KG9iajogYW55KSB7XHJcbiAgaWYgKG9iaiA9PT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIHN3aXRjaCAoT2JqZWN0LmtleXMob2JqKVswXSkge1xyXG4gICAgY2FzZSAnQ29udGFpbmVyJzpcclxuICAgIGNhc2UgJ1NldHRpbmdfVmFsdWUnOlxyXG4gICAgY2FzZSAnQ2hpbGRfUmVsYXRpb25zaGlwJzpcclxuICAgIGNhc2UgJ1NjcmVlbkNvbmZpZ3VyYXRpb24nOlxyXG4gICAgY2FzZSAnQXBwT2JqZWN0Q29uZmlndXJhdGlvbic6XHJcbiAgICBjYXNlICdTY2hlbWFDb25maWcnOlxyXG4gICAgY2FzZSAnQ3JpdGVyaWEnOlxyXG4gICAgY2FzZSAnQXBwbHlDcml0ZXJpYSc6XHJcbiAgICBjYXNlICdTTEFTZXR0aW5nJzpcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gZm9ybWF0QXJyYXkob2JqKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGJsYW5rIHZhbHVlcyBmcm9tIHRoZSBpbnB1dCBvYmplY3RcclxuICogQHBhcmFtIGRhdGFPYmogVGhlIGlucHV0IG9iamVjdCB0byByZW1vdmUgYmxhbmsgdmFsdWVzIGZyb21cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVCbGFua1ZhbHVlKGRhdGFPYmo6IGFueSkge1xyXG4gIE9iamVjdC5rZXlzKGRhdGFPYmopLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YU9ialtrZXldKSkge1xyXG4gICAgICBpZiAoZGF0YU9ialtrZXldLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIGRlbGV0ZSBkYXRhT2JqW2tleV07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZGF0YU9ialtrZXldLmZvckVhY2goKGl0ZW06IHsgVmFsdWU6IGFueSB9LCBpOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChpc1ZhbHVlQmxhbmsoaXRlbSkpIHtcclxuICAgICAgICAgICAgZGF0YU9ialtrZXldLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlbW92ZUJsYW5rVmFsdWUoaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICBcclxuICAgIH0gZWxzZSBpZiAoZGF0YU9ialtrZXldICYmIHR5cGVvZiBkYXRhT2JqW2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIGlmIChPYmplY3Qua2V5cyhkYXRhT2JqW2tleV0pLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIGRlbGV0ZSBkYXRhT2JqW2tleV07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVtb3ZlQmxhbmtWYWx1ZShkYXRhT2JqW2tleV0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdWYWx1ZScgJiYgaXNWYWx1ZUJsYW5rKGRhdGFPYmpba2V5XSkpIHtcclxuICAgICAgZGVsZXRlIGRhdGFPYmpba2V5XTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZXMgYmxhbmsgYXJyYXkga2V5cyBmcm9tIHRoZSBpbnB1dCBvYmplY3RcclxuICogQHBhcmFtIGRhdGFPYmogVGhlIGlucHV0IG9iamVjdCB0byByZW1vdmUgYmxhbmsgYXJyYXkga2V5cyBmcm9tXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQmxhbmtBcnJheUtleXMoZGF0YU9iajogYW55KSB7XHJcbiAgZGF0YU9iai5mb3JFYWNoKChlbGVtZW50OiBhbnksIGk6IGFueSkgPT4ge1xyXG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5oYXNPd25Qcm9wZXJ0eSgnVmFsdWUnKSkge1xyXG4gICAgICBpZiAodHlwZW9mIGVsZW1lbnQuVmFsdWUgPT09ICdvYmplY3QnICYmIGVsZW1lbnQuVmFsdWUubGVuZ3RoID09IDApIHtcclxuICAgICAgICBkYXRhT2JqLnNwbGljZShpLCAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc1ZhbHVlQmxhbmsodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09ICcnIHx8IHZhbHVlID09IHVuZGVmaW5lZDtcclxufSJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techextensor/tab-core-utility",
3
- "version": "2.2.150",
3
+ "version": "2.2.151",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",