@esolve/ng-esolve-connect 0.47.3 → 0.48.1

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.
Files changed (27) hide show
  1. package/esm2022/lib/locations/classes/esolve-location.model.mjs +4 -1
  2. package/esm2022/lib/locations/esolve-locations.service.mjs +1 -1
  3. package/esm2022/lib/locations/interfaces/esolve-location-record.interface.mjs +1 -1
  4. package/esm2022/media/lib/classes/esolve-media-layout-section.model.mjs +1 -1
  5. package/esm2022/media/lib/interfaces/esolve-layout-config.interface.mjs +1 -1
  6. package/esm2022/media/lib/interfaces/esolve-media-layout-section-record.interface.mjs +1 -1
  7. package/esm2022/media/lib/interfaces/esolve-media-section-data-generic.interface.mjs +2 -0
  8. package/esm2022/media/lib/interfaces/esolve-media-stock-section-data.interface.mjs +2 -0
  9. package/esm2022/media/lib/interfaces/index.mjs +3 -1
  10. package/esm2022/media/lib/services/esolve-media-layout.service.mjs +10 -2
  11. package/esm2022/media/lib/types/esolve-media-layout-section-type.type.mjs +1 -1
  12. package/fesm2022/esolve-ng-esolve-connect-media.mjs +9 -1
  13. package/fesm2022/esolve-ng-esolve-connect-media.mjs.map +1 -1
  14. package/fesm2022/esolve-ng-esolve-connect.mjs +3 -0
  15. package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
  16. package/lib/locations/classes/esolve-location.model.d.ts +8 -3
  17. package/lib/locations/esolve-locations.service.d.ts +6 -5
  18. package/lib/locations/interfaces/esolve-location-record.interface.d.ts +3 -1
  19. package/media/lib/classes/esolve-media-layout-section.model.d.ts +2 -2
  20. package/media/lib/interfaces/esolve-layout-config.interface.d.ts +5 -1
  21. package/media/lib/interfaces/esolve-media-layout-section-record.interface.d.ts +2 -1
  22. package/media/lib/interfaces/esolve-media-section-data-generic.interface.d.ts +6 -0
  23. package/media/lib/interfaces/esolve-media-stock-section-data.interface.d.ts +3 -0
  24. package/media/lib/interfaces/index.d.ts +2 -0
  25. package/media/lib/services/esolve-media-layout.service.d.ts +2 -0
  26. package/media/lib/types/esolve-media-layout-section-type.type.d.ts +1 -1
  27. package/package.json +1 -1
@@ -44,6 +44,9 @@ export class EsolveLocation {
44
44
  const public_holiday = new EsolveLocationTradingDay(record.public_holiday_open_time, record.public_holiday_close_time);
45
45
  this.trading_times = new EsolveLocationTradingTimes(monday, tuesday, wednesday, thursday, friday, saturday, sunday, public_holiday, record.trading_hours_additional_info);
46
46
  this.geo = new EsolveLocationGEO(record.distance, record.range, record.target_description);
47
+ if (record.custom_fields) {
48
+ this.custom_fields = record.custom_fields;
49
+ }
47
50
  }
48
51
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2xvY2F0aW9ucy9jbGFzc2VzL2Vzb2x2ZS1sb2NhdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxNQUFNLE9BQU8sY0FBYztJQXNCdkIsWUFBWSxNQUE0QjtRQUNwQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7UUFDNUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztRQUN4RCxJQUFJLENBQUMsb0NBQW9DO1lBQ3JDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMs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QkFBaUIsQ0FDM0IsQ0FBQztRQUVGLE1BQU0sY0FBYyxHQUFHLElBQUksd0JBQXdCLENBQy9DLE1BQU0sQ0FBQyx3QkFBd0IsRUFDL0IsTUFBTSxDQUFDLHlCQUF5QixDQUNuQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLDBCQUEwQixDQUMvQyxNQUFNLEVBQ04sT0FBTyxFQUNQLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sY0FBYyxFQUNkLE1BQU0sQ0FBQyw2QkFBNkIsQ0FDdkMsQ0FBQztRQUVGLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxpQkFBaUIsQ0FDNUIsTUFBTSxDQUFDLFFBQVEsRUFDZixNQUFNLENBQUMsS0FBSyxFQUNaLE1BQU0sQ0FBQyxrQkFBa0IsQ0FDNUIsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUxvY2F0aW9uUmVjb3JkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lc29sdmUtbG9jYXRpb24tcmVjb3JkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFc29sdmVMb2NhdGlvbkFkZHJlc3MgfSBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi1hZGRyZXNzLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZUxvY2F0aW9uQ29udGFjdEluZm8gfSBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi1jb250YWN0LWluZm8ubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25QT0JveEFkZHJlc3MgfSBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi1wb2JveC1hZGRyZXNzLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZUxvY2F0aW9uVHJhZGluZ1RpbWVzIH0gZnJvbSAnLi9lc29sdmUtbG9jYXRpb24tdHJhZGluZy10aW1lcy5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVMb2NhdGlvblRyYWRpbmdEYXkgfSBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi10cmFkaW5nLWRheS5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVMb2NhdGlvbkdFTyB9IGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLWdlby5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVMb2NhdGlvbiB7XG4gICAgcHVibGljIGlkOiBudW1iZXI7XG4gICAgcHVibGljIGlkZW50aWZpZXI6IHN0cmluZztcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBwdWJsaWMgaGVhZF9vZmZpY2U6IGJvb2xlYW47XG4gICAgcHVibGljIGRlZmF1bHRfbG9jYXRpb25fZm9yX3BheW1lbnRfbWV0aG9kczogYm9vbGVhbjtcbiAgICBwdWJsaWMgZXh0ZXJuYWxfc3lzdGVtX2NvZGU6IHN0cmluZztcbiAgICBwdWJsaWMgZXJwX2lkZW50aWZpZXI6IHN0cmluZztcbiAgICBwdWJsaWMgdXNlcmlkOiBudW1iZXI7XG4gICAgcHVibGljIGltcG9ydGFuY2U6IG51bWJlcjtcbiAgICBwdWJsaWMgYWN0aXZlOiBib29sZWFuO1xuICAgIHB1YmxpYyBkaXNwYXRjaGVzX3N0b2NrOiBib29sZWFuO1xuICAgIHB1YmxpYyBpbmNsdWRlX29uX2VucXVpcmllczogYm9vbGVhbjtcbiAgICBwdWJsaWMgaW5jbHVkZV9vbl9zdG9yZV9sb2NhdG9yOiBib29sZWFuO1xuICAgIHB1YmxpYyB3ZWJzaXRlX3VybDogc3RyaW5nO1xuXG4gICAgcHVibGljIGFkZHJlc3M6IEVzb2x2ZUxvY2F0aW9uQWRkcmVzcztcbiAgICBwdWJsaWMgcG9ib3hfYWRkcmVzczogRXNvbHZlTG9jYXRpb25QT0JveEFkZHJlc3M7XG4gICAgcHVibGljIGNvbnRhY3RfaW5mbzogRXNvbHZlTG9jYXRpb25Db250YWN0SW5mbztcbiAgICBwdWJsaWMgdHJhZGluZ190aW1lczogRXNvbHZlTG9jYXRpb25UcmFkaW5nVGltZXM7XG4gICAgcHVibGljIGdlbz86IEVzb2x2ZUxvY2F0aW9uR0VPO1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkOiBFc29sdmVMb2NhdGlvblJlY29yZCkge1xuICAgICAgICB0aGlzLmlkID0gK3JlY29yZC5pZDtcbiAgICAgICAgdGhpcy5pZGVudGlmaWVyID0gcmVjb3JkLmlkZW50aWZpZXI7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSByZWNvcmQuZGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuaGVhZF9vZmZpY2UgPSAhIStyZWNvcmQuaGVhZF9vZmZpY2U7XG4gICAgICAgIHRoaXMuZXJwX2lkZW50aWZpZXIgPSByZWNvcmQuZXJwX2lkZW50aWZpZXI7XG4gICAgICAgIHRoaXMuZXh0ZXJuYWxfc3lzdGVtX2NvZGUgPSByZWNvcmQuZXh0ZXJuYWxfc3lzdGVtX2NvZGU7XG4gICAgICAgIHRoaXMuZGVmYXVsdF9sb2NhdGlvbl9mb3JfcGF5bWVudF9tZXRob2RzID1cbiAgICAgICAgICAgICEhK3JlY29yZC5kZWZhdWx0X2xvY2F0aW9uX2Zvcl9wYXltZW50X21ldGhvZHM7XG4gICAgICAgIHRoaXMudXNlcmlkID0gK3JlY29yZC51c2VyaWQ7XG4gICAgICAgIHRoaXMuaW1wb3J0YW5jZSA9ICtyZWNvcmQuaW1wb3J0YW5jZTtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSAhIStyZWNvcmQuaXNfYWN0aXZlO1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXNfc3RvY2sgPSAhIStyZWNvcmQuZGlzcGF0Y2hlc19zdG9jaztcbiAgICAgICAgdGhpcy5pbmNsdWRlX29uX2VucXVpcmllcyA9ICEhK3JlY29yZC5pbmNsdWRlX29uX2VucXVpcmllcztcbiAgICAgICAgdGhpcy5pbmNsdWRlX29uX3N0b3JlX2xvY2F0b3IgPSAhIStyZWNvcmQuaW5jbHVkZV9vbl9zdG9yZV9sb2NhdG9yO1xuICAgICAgICB0aGlzLndlYnNpdGVfdXJsID0gcmVjb3JkLndlYnNpdGVfdXJsO1xuXG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IG5ldyBFc29sdmVMb2NhdGlvbkFkZHJlc3MoXG4gICAgICAgICAgICByZWNvcmQuc3RyZWV0LFxuICAgICAgICAgICAgcmVjb3JkLnN1YnVyYixcbiAgICAgICAgICAgIHJlY29yZC5jaXR5LFxuICAgICAgICAgICAgcmVjb3JkLnByb3ZpbmNlLFxuICAgICAgICAgICAgcmVjb3JkLmNvdW50cnksXG4gICAgICAgICAgICByZWNvcmQucG9zdGFsX2NvZGUsXG4gICAgICAgICAgICArcmVjb3JkLmxhdGl0dWRlLFxuICAgICAgICAgICAgK3JlY29yZC5sb25naXR1ZGUsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5wb2JveF9hZGRyZXNzID0gbmV3IEVzb2x2ZUxvY2F0aW9uUE9Cb3hBZGRyZXNzKFxuICAgICAgICAgICAgcmVjb3JkLnBvYm94LFxuICAgICAgICAgICAgcmVjb3JkLnBvYm94X2NpdHksXG4gICAgICAgICAgICByZWNvcmQucG9ib3hfcG9zdGFsX2NvZGUsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgdGVsbnVtYmVycyA9IFtdO1xuXG4gICAgICAgIGlmIChyZWNvcmQuYnJhbmNoX3RlbG51bWJlci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0ZWxudW1iZXJzLnB1c2gocmVjb3JkLmJyYW5jaF90ZWxudW1iZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5icmFuY2hfdGVsbnVtYmVyXzIubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGVsbnVtYmVycy5wdXNoKHJlY29yZC5icmFuY2hfdGVsbnVtYmVyXzIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5icmFuY2hfdGVsbnVtYmVyXzMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGVsbnVtYmVycy5wdXNoKHJlY29yZC5icmFuY2hfdGVsbnVtYmVyXzMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb250YWN0X2luZm8gPSBuZXcgRXNvbHZlTG9jYXRpb25Db250YWN0SW5mbyhcbiAgICAgICAgICAgIHRlbG51bWJlcnMsXG4gICAgICAgICAgICByZWNvcmQuYnJhbmNoX2NlbGxudW1iZXIsXG4gICAgICAgICAgICByZWNvcmQuYnJhbmNoX2VtYWlsLFxuICAgICAgICAgICAgcmVjb3JkLmJyYW5jaF9mYXgsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgbW9uZGF5ID0gbmV3IEVzb2x2ZUxvY2F0aW9uVHJhZGluZ0RheShcbiAgICAgICAgICAgIHJlY29yZC5tb25kYXlfb3Blbl90aW1lLFxuICAgICAgICAgICAgcmVjb3JkLm1vbmRheV9jbG9zZV90aW1lLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHR1ZXNkYXkgPSBuZXcgRXNvbHZlTG9jYXRpb25UcmFkaW5nRGF5KFxuICAgICAgICAgICAgcmVjb3JkLnR1ZXNkYXlfb3Blbl90aW1lLFxuICAgICAgICAgICAgcmVjb3JkLnR1ZXNkYXlfY2xvc2VfdGltZSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB3ZWRuZXNkYXkgPSBuZXcgRXNvbHZlTG9jYXRpb25UcmFkaW5nRGF5KFxuICAgICAgICAgICAgcmVjb3JkLndlZG5lc2RheV9vcGVuX3RpbWUsXG4gICAgICAgICAgICByZWNvcmQud2VkbmVzZGF5X2Nsb3NlX3RpbWUsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgdGh1cnNkYXkgPSBuZXcgRXNvbHZlTG9jYXRpb25UcmFkaW5nRGF5KFxuICAgICAgICAgICAgcmVjb3JkLnRodXJzZGF5X29wZW5fdGltZSxcbiAgICAgICAgICAgIHJlY29yZC50aHVyc2RheV9jbG9zZV90aW1lLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGZyaWRheSA9IG5ldyBFc29sdmVMb2NhdGlvblRyYWRpbmdEYXkoXG4gICAgICAgICAgICByZWNvcmQuZnJpZGF5X29wZW5fdGltZSxcbiAgICAgICAgICAgIHJlY29yZC5mcmlkYXlfY2xvc2VfdGltZSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzYXR1cmRheSA9IG5ldyBFc29sdmVMb2NhdGlvblRyYWRpbmdEYXkoXG4gICAgICAgICAgICByZWNvcmQuc2F0dXJkYXlfb3Blbl90aW1lLFxuICAgICAgICAgICAgcmVjb3JkLnNhdHVyZGF5X2Nsb3NlX3RpbWUsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgc3VuZGF5ID0gbmV3IEVzb2x2ZUxvY2F0aW9uVHJhZGluZ0RheShcbiAgICAgICAgICAgIHJlY29yZC5zdW5kYXlfb3Blbl90aW1lLFxuICAgICAgICAgICAgcmVjb3JkLnN1bmRheV9jbG9zZV90aW1lLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHB1YmxpY19ob2xpZGF5ID0gbmV3IEVzb2x2ZUxvY2F0aW9uVHJhZGluZ0RheShcbiAgICAgICAgICAgIHJlY29yZC5wdWJsaWNfaG9saWRheV9vcGVuX3RpbWUsXG4gICAgICAgICAgICByZWNvcmQucHVibGljX2hvbGlkYXlfY2xvc2VfdGltZSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnRyYWRpbmdfdGltZXMgPSBuZXcgRXNvbHZlTG9jYXRpb25UcmFkaW5nVGltZXMoXG4gICAgICAgICAgICBtb25kYXksXG4gICAgICAgICAgICB0dWVzZGF5LFxuICAgICAgICAgICAgd2VkbmVzZGF5LFxuICAgICAgICAgICAgdGh1cnNkYXksXG4gICAgICAgICAgICBmcmlkYXksXG4gICAgICAgICAgICBzYXR1cmRheSxcbiAgICAgICAgICAgIHN1bmRheSxcbiAgICAgICAgICAgIHB1YmxpY19ob2xpZGF5LFxuICAgICAgICAgICAgcmVjb3JkLnRyYWRpbmdfaG91cnNfYWRkaXRpb25hbF9pbmZvLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZ2VvID0gbmV3IEVzb2x2ZUxvY2F0aW9uR0VPKFxuICAgICAgICAgICAgcmVjb3JkLmRpc3RhbmNlLFxuICAgICAgICAgICAgcmVjb3JkLnJhbmdlLFxuICAgICAgICAgICAgcmVjb3JkLnRhcmdldF9kZXNjcmlwdGlvbixcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2xvY2F0aW9ucy9jbGFzc2VzL2Vzb2x2ZS1sb2NhdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdoRSxNQUFNLE9BQU8sY0FBYztJQTBCdkIsWUFBWSxNQUErQjtRQUN2QyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7UUFDNUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztRQUN4RCxJQUFJLENBQUMsb0NBQW9DO1lBQ3JDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMs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QkFBaUIsQ0FDM0IsQ0FBQztRQUVGLE1BQU0sY0FBYyxHQUFHLElBQUksd0JBQXdCLENBQy9DLE1BQU0sQ0FBQyx3QkFBd0IsRUFDL0IsTUFBTSxDQUFDLHlCQUF5QixDQUNuQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLDBCQUEwQixDQUMvQyxNQUFNLEVBQ04sT0FBTyxFQUNQLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sY0FBYyxFQUNkLE1BQU0sQ0FBQyw2QkFBNkIsQ0FDdkMsQ0FBQztRQUVGLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxpQkFBaUIsQ0FDNUIsTUFBTSxDQUFDLFFBQVEsRUFDZixNQUFNLENBQUMsS0FBSyxFQUNaLE1BQU0sQ0FBQyxrQkFBa0IsQ0FDNUIsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDN0M7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVMb2NhdGlvblJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25BZGRyZXNzIH0gZnJvbSAnLi9lc29sdmUtbG9jYXRpb24tYWRkcmVzcy5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVMb2NhdGlvbkNvbnRhY3RJbmZvIH0gZnJvbSAnLi9lc29sdmUtbG9jYXRpb24tY29udGFjdC1pbmZvLm1vZGVsJztcbmltcG9ydCB7IEVzb2x2ZUxvY2F0aW9uUE9Cb3hBZGRyZXNzIH0gZnJvbSAnLi9lc29sdmUtbG9jYXRpb24tcG9ib3gtYWRkcmVzcy5tb2RlbCc7XG5pbXBvcnQgeyBFc29sdmVMb2NhdGlvblRyYWRpbmdUaW1lcyB9IGZyb20gJy4vZXNvbHZlLWxvY2F0aW9uLXRyYWRpbmctdGltZXMubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25UcmFkaW5nRGF5IH0gZnJvbSAnLi9lc29sdmUtbG9jYXRpb24tdHJhZGluZy1kYXkubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25HRU8gfSBmcm9tICcuL2Vzb2x2ZS1sb2NhdGlvbi1nZW8ubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlQ3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2N1c3RvbS1maWVsZHMnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlTG9jYXRpb248VCBleHRlbmRzIEVzb2x2ZUN1c3RvbUZpZWxkcyA9IEVzb2x2ZUN1c3RvbUZpZWxkcz4ge1xuICAgIHB1YmxpYyBpZDogbnVtYmVyO1xuICAgIHB1YmxpYyBpZGVudGlmaWVyOiBzdHJpbmc7XG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgcHVibGljIGhlYWRfb2ZmaWNlOiBib29sZWFuO1xuICAgIHB1YmxpYyBkZWZhdWx0X2xvY2F0aW9uX2Zvcl9wYXltZW50X21ldGhvZHM6IGJvb2xlYW47XG4gICAgcHVibGljIGV4dGVybmFsX3N5c3RlbV9jb2RlOiBzdHJpbmc7XG4gICAgcHVibGljIGVycF9pZGVudGlmaWVyOiBzdHJpbmc7XG4gICAgcHVibGljIHVzZXJpZDogbnVtYmVyO1xuICAgIHB1YmxpYyBpbXBvcnRhbmNlOiBudW1iZXI7XG4gICAgcHVibGljIGFjdGl2ZTogYm9vbGVhbjtcbiAgICBwdWJsaWMgZGlzcGF0Y2hlc19zdG9jazogYm9vbGVhbjtcbiAgICBwdWJsaWMgaW5jbHVkZV9vbl9lbnF1aXJpZXM6IGJvb2xlYW47XG4gICAgcHVibGljIGluY2x1ZGVfb25fc3RvcmVfbG9jYXRvcjogYm9vbGVhbjtcbiAgICBwdWJsaWMgd2Vic2l0ZV91cmw6IHN0cmluZztcblxuICAgIHB1YmxpYyBhZGRyZXNzOiBFc29sdmVMb2NhdGlvbkFkZHJlc3M7XG4gICAgcHVibGljIHBvYm94X2FkZHJlc3M6IEVzb2x2ZUxvY2F0aW9uUE9Cb3hBZGRyZXNzO1xuICAgIHB1YmxpYyBjb250YWN0X2luZm86IEVzb2x2ZUxvY2F0aW9uQ29udGFjdEluZm87XG4gICAgcHVibGljIHRyYWRpbmdfdGltZXM6IEVzb2x2ZUxvY2F0aW9uVHJhZGluZ1RpbWVzO1xuICAgIHB1YmxpYyBnZW8/OiBFc29sdmVMb2NhdGlvbkdFTztcbiAgICAvKipcbiAgICAgKiBMb2NhdGlvbiBjdXN0b20gZmllbGRzXG4gICAgICovXG4gICAgcHVibGljIGN1c3RvbV9maWVsZHM/OiBUO1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkOiBFc29sdmVMb2NhdGlvblJlY29yZDxUPikge1xuICAgICAgICB0aGlzLmlkID0gK3JlY29yZC5pZDtcbiAgICAgICAgdGhpcy5pZGVudGlmaWVyID0gcmVjb3JkLmlkZW50aWZpZXI7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSByZWNvcmQuZGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuaGVhZF9vZmZpY2UgPSAhIStyZWNvcmQuaGVhZF9vZmZpY2U7XG4gICAgICAgIHRoaXMuZXJwX2lkZW50aWZpZXIgPSByZWNvcmQuZXJwX2lkZW50aWZpZXI7XG4gICAgICAgIHRoaXMuZXh0ZXJuYWxfc3lzdGVtX2NvZGUgPSByZWNvcmQuZXh0ZXJuYWxfc3lzdGVtX2NvZGU7XG4gICAgICAgIHRoaXMuZGVmYXVsdF9sb2NhdGlvbl9mb3JfcGF5bWVudF9tZXRob2RzID1cbiAgICAgICAgICAgICEhK3JlY29yZC5kZWZhdWx0X2xvY2F0aW9uX2Zvcl9wYXltZW50X21ldGhvZHM7XG4gICAgICAgIHRoaXMudXNlcmlkID0gK3JlY29yZC51c2VyaWQ7XG4gICAgICAgIHRoaXMuaW1wb3J0YW5jZSA9ICtyZWNvcmQuaW1wb3J0YW5jZTtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSAhIStyZWNvcmQuaXNfYWN0aXZlO1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXNfc3RvY2sgPSAhIStyZWNvcmQuZGlzcGF0Y2hlc19zdG9jaztcbiAgICAgICAgdGhpcy5pbmNsdWRlX29uX2VucXVpcmllcyA9ICEhK3JlY29yZC5pbmNsdWRlX29uX2VucXVpcmllcztcbiAgICAgICAgdGhpcy5pbmNsdWRlX29uX3N0b3JlX2xvY2F0b3IgPSAhIStyZWNvcmQuaW5jbHVkZV9vbl9zdG9yZV9sb2NhdG9yO1xuICAgICAgICB0aGlzLndlYnNpdGVfdXJsID0gcmVjb3JkLndlYnNpdGVfdXJsO1xuXG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IG5ldyBFc29sdmVMb2NhdGlvbkFkZHJlc3MoXG4gICAgICAgICAgICByZWNvcmQuc3RyZWV0LFxuICAgICAgICAgICAgcmVjb3JkLnN1YnVyYixcbiAgICAgICAgICAgIHJlY29yZC5jaXR5LFxuICAgICAgICAgICAgcmVjb3JkLnByb3ZpbmNlLFxuICAgICAgICAgICAgcmVjb3JkLmNvdW50cnksXG4gICAgICAgICAgICByZWNvcmQucG9zdGFsX2NvZGUsXG4gICAgICAgICAgICArcmVjb3JkLmxhdGl0dWRlLFxuICAgICAgICAgICAgK3JlY29yZC5sb25naXR1ZGUsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5wb2JveF9hZGRyZXNzID0gbmV3IEVzb2x2ZUxvY2F0aW9uUE9Cb3hBZGRyZXNzKFxuICAgICAgICAgICAgcmVjb3JkLnBvYm94LFxuICAgICAgICAgICAgcmVjb3JkLnBvYm94X2NpdHksXG4gICAgICAgICAgICByZWNvcmQucG9ib3hfcG9zdGFsX2NvZGUsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgdGVsbnVtYmVycyA9IFtdO1xuXG4gICAgICAgIGlmIChyZWNvcmQuYnJhbmNoX3RlbG51bWJlci5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0ZWxudW1iZXJzLnB1c2gocmVjb3JkLmJyYW5jaF90ZWxudW1iZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5icmFuY2hfdGVsbnVtYmVyXzIubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGVsbnVtYmVycy5wdXNoKHJlY29yZC5icmFuY2hfdGVsbnVtYmVyXzIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlY29yZC5icmFuY2hfdGVsbnVtYmVyXzMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGVsbnVtYmVycy5wdXNoKHJlY29yZC5icmFuY2hfdGVsbnVtYmVyXzMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb250YWN0X2luZm8gPSBuZXcgRXNvbHZlTG9jYXRpb25Db250YWN0SW5mbyhcbiAgICAgICAgICAgIHRlbG51bWJlcnMsXG4gICAgICAgICAgICByZWNvcmQuYnJhbmNoX2NlbGxudW1iZXIsXG4gICAgICAgICAgICByZWNvcmQuYnJhbmNoX2VtYWlsLFxuICAgICAgICAgICAgcmVjb3JkLmJyYW5jaF9mYXgsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgbW9uZGF5ID0gbmV3IEVzb2x2ZUxvY2F0aW9uVHJhZGluZ0RheShcbiAgICAgICAgICAgIHJlY29yZC5tb25kYXlfb3Blbl90aW1lLFxuICAgICAgICAgICAgcmVjb3JkLm1vbmRheV9jbG9zZV90aW1lLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHR1ZXNkYXkgPSBuZXcgRXNvbHZlTG9jYXRpb25UcmFkaW5nRGF5KFxuICAgICAgICAgICAgcmVjb3JkLnR1ZXNkYXlfb3Blbl90aW1lLFxuICAgICAgICAgICAgcmVjb3JkLnR1ZXNkYXlfY2xvc2VfdGltZSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB3ZWRuZXNkYXkgPSBuZXcgRXNvbHZlTG9jYXRpb25UcmFkaW5nRGF5KFxuICAgICAgICAgICAgcmVjb3JkLndlZG5lc2RheV9vcGVuX3RpbWUsXG4gICAgICAgICAgICByZWNvcmQud2VkbmVzZGF5X2Nsb3NlX3RpbWUsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgdGh1cnNkYXkgPSBuZXcgRXNvbHZlTG9jYXRpb25UcmFkaW5nRGF5KFxuICAgICAgICAgICAgcmVjb3JkLnRodXJzZGF5X29wZW5fdGltZSxcbiAgICAgICAgICAgIHJlY29yZC50aHVyc2RheV9jbG9zZV90aW1lLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGZyaWRheSA9IG5ldyBFc29sdmVMb2NhdGlvblRyYWRpbmdEYXkoXG4gICAgICAgICAgICByZWNvcmQuZnJpZGF5X29wZW5fdGltZSxcbiAgICAgICAgICAgIHJlY29yZC5mcmlkYXlfY2xvc2VfdGltZSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzYXR1cmRheSA9IG5ldyBFc29sdmVMb2NhdGlvblRyYWRpbmdEYXkoXG4gICAgICAgICAgICByZWNvcmQuc2F0dXJkYXlfb3Blbl90aW1lLFxuICAgICAgICAgICAgcmVjb3JkLnNhdHVyZGF5X2Nsb3NlX3RpbWUsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgc3VuZGF5ID0gbmV3IEVzb2x2ZUxvY2F0aW9uVHJhZGluZ0RheShcbiAgICAgICAgICAgIHJlY29yZC5zdW5kYXlfb3Blbl90aW1lLFxuICAgICAgICAgICAgcmVjb3JkLnN1bmRheV9jbG9zZV90aW1lLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHB1YmxpY19ob2xpZGF5ID0gbmV3IEVzb2x2ZUxvY2F0aW9uVHJhZGluZ0RheShcbiAgICAgICAgICAgIHJlY29yZC5wdWJsaWNfaG9saWRheV9vcGVuX3RpbWUsXG4gICAgICAgICAgICByZWNvcmQucHVibGljX2hvbGlkYXlfY2xvc2VfdGltZSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnRyYWRpbmdfdGltZXMgPSBuZXcgRXNvbHZlTG9jYXRpb25UcmFkaW5nVGltZXMoXG4gICAgICAgICAgICBtb25kYXksXG4gICAgICAgICAgICB0dWVzZGF5LFxuICAgICAgICAgICAgd2VkbmVzZGF5LFxuICAgICAgICAgICAgdGh1cnNkYXksXG4gICAgICAgICAgICBmcmlkYXksXG4gICAgICAgICAgICBzYXR1cmRheSxcbiAgICAgICAgICAgIHN1bmRheSxcbiAgICAgICAgICAgIHB1YmxpY19ob2xpZGF5LFxuICAgICAgICAgICAgcmVjb3JkLnRyYWRpbmdfaG91cnNfYWRkaXRpb25hbF9pbmZvLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZ2VvID0gbmV3IEVzb2x2ZUxvY2F0aW9uR0VPKFxuICAgICAgICAgICAgcmVjb3JkLmRpc3RhbmNlLFxuICAgICAgICAgICAgcmVjb3JkLnJhbmdlLFxuICAgICAgICAgICAgcmVjb3JkLnRhcmdldF9kZXNjcmlwdGlvbixcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAocmVjb3JkLmN1c3RvbV9maWVsZHMpIHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tX2ZpZWxkcyA9IHJlY29yZC5jdXN0b21fZmllbGRzO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
75
75
  providedIn: 'root',
76
76
  }]
77
77
  }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2xvY2F0aW9ucy9lc29sdmUtbG9jYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQU1qRSxNQUFNLE9BQU8sc0JBQXNCO0lBSG5DO1FBSXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBZ0Y5QztJQTlFRzs7OztPQUlHO0lBQ0ksaUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQ0EsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sb0JBQW9CLENBQzdDO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtnQkFDaEMsTUFBTSxRQUFRLENBQUM7YUFDbEI7WUFFRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksb0JBQW9CLENBQ3ZCLFlBQVksR0FBRyxDQUFDLEVBQ2hCLFFBQVEsR0FBRyxDQUFDLEVBQ1osU0FBUyxHQUFHLENBQUM7UUFFYixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUNBLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLHdCQUF3QixFQUM5QztZQUNJLE1BQU0sRUFBRTtnQkFDSixZQUFZO2dCQUNaLFFBQVE7Z0JBQ1IsU0FBUzthQUNaO1NBQ0osQ0FDSjthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7Z0JBQ2hDLE1BQU0sUUFBUSxDQUFDO2FBQ2xCO1lBRUQsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxxQkFBcUIsQ0FDekIsT0FBK0I7UUFFL0IsTUFBTSxlQUFlLEdBQXFCLEVBQUUsQ0FBQztRQUU3QyxJQUFJLE9BQU8sRUFBRTtZQUNULEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO2dCQUMxQixlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDcEQ7U0FDSjtRQUVELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7OEdBakZRLHNCQUFzQjtrSEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07OzJGQUVULHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuXG5pbXBvcnQgeyBFc29sdmVMb2NhdGlvbiB9IGZyb20gJy4vY2xhc3Nlcy9lc29sdmUtbG9jYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25SZWNvcmQgfSBmcm9tICcuL2ludGVyZmFjZXMvZXNvbHZlLWxvY2F0aW9uLXJlY29yZC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVMb2NhdGlvbnNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChFc29sdmVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHN0b2NrIGxvY2F0aW9uc1xuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2Ygc3RvY2sgbG9jYXRpb25zXG4gICAgICovXG4gICAgcHVibGljIGdldFN0b2NrTG9jYXRpb25zKCk6IE9ic2VydmFibGU8RXNvbHZlTG9jYXRpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUxvY2F0aW9uUmVjb3JkW10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtbG9jYXRpb25zLnBocGAsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1N0b2NrTG9jYXRpb25zKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHN0b2NrIGxvY2F0aW9ucyB1c2luZyB0aGUgYWRkcmVzc19pZCBhcyBwYXJhbWV0ZXIgb3IgdGhlIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUuXG4gICAgICogU2V0IHRoZSBhZGRyZXNzZXNfaWQgdG8gMCBhbmQgdGhlIGdwcyBjb29yZGluYXRlcyBpbiBvcmRlciB0byByZXRyaWV2ZSB0aGUgbG9jYXRpb25zIGxpc3Qgd2hlbiB0aGUgYWRkcmVzcyBpc24ndFxuICAgICAqIHlldCBzYXZlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZGRyZXNzZXNfaWQgaWYgc3VwcGxpZWQsIHRoZSBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlIG9uIHRoZSBhZGRyZXNzIHdpbGwgYmUgdXNlZC5cbiAgICAgKiBAcGFyYW0gbGF0aXR1ZGUgaWYgc3VwcGxpZWQgYW5kIGFkZHJlc3NfaWQgPiAwLCB0aGUgdmFsdWUgaXMgaWdub3JlZC5cbiAgICAgKiBAcGFyYW0gbG9uZ2l0dWRlIGlmIHN1cHBsaWVkIGFuZCBhZGRyZXNzX2lkID4gMCwgdGhlIHZhbHVlIGlzIGlnbm9yZWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiBzdG9jayBsb2NhdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U3RvY2tMb2NhdGlvbnNHZW8oXG4gICAgICAgIGFkZHJlc3Nlc19pZCA9IDAsXG4gICAgICAgIGxhdGl0dWRlID0gMCxcbiAgICAgICAgbG9uZ2l0dWRlID0gMCxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUxvY2F0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVMb2NhdGlvblJlY29yZFtdPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWxvY2F0aW9ucy1nZW8ucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzc2VzX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzU3RvY2tMb2NhdGlvbnMocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHN0b2NrIGxvY2F0aW9uIHJlY29yZHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgc3RvY2sgbG9jYXRpb24gcmVjb3Jkc1xuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc1N0b2NrTG9jYXRpb25zKFxuICAgICAgICByZWNvcmRzOiBFc29sdmVMb2NhdGlvblJlY29yZFtdLFxuICAgICk6IEVzb2x2ZUxvY2F0aW9uW10ge1xuICAgICAgICBjb25zdCBzdG9ja19sb2NhdGlvbnM6IEVzb2x2ZUxvY2F0aW9uW10gPSBbXTtcblxuICAgICAgICBpZiAocmVjb3Jkcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIHN0b2NrX2xvY2F0aW9ucy5wdXNoKG5ldyBFc29sdmVMb2NhdGlvbihyZWNvcmQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdG9ja19sb2NhdGlvbnM7XG4gICAgfVxufVxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2xvY2F0aW9ucy9lc29sdmUtbG9jYXRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFJOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQU1qRSxNQUFNLE9BQU8sc0JBQXNCO0lBSG5DO1FBTXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBZ0Y5QztJQTlFRzs7OztPQUlHO0lBQ0ksaUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQ0EsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sb0JBQW9CLENBQzdDO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtnQkFDaEMsTUFBTSxRQUFRLENBQUM7YUFDbEI7WUFFRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksb0JBQW9CLENBQ3ZCLFlBQVksR0FBRyxDQUFDLEVBQ2hCLFFBQVEsR0FBRyxDQUFDLEVBQ1osU0FBUyxHQUFHLENBQUM7UUFFYixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUNBLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLHdCQUF3QixFQUM5QztZQUNJLE1BQU0sRUFBRTtnQkFDSixZQUFZO2dCQUNaLFFBQVE7Z0JBQ1IsU0FBUzthQUNaO1NBQ0osQ0FDSjthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7Z0JBQ2hDLE1BQU0sUUFBUSxDQUFDO2FBQ2xCO1lBRUQsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxxQkFBcUIsQ0FDekIsT0FBa0M7UUFFbEMsTUFBTSxlQUFlLEdBQXdCLEVBQUUsQ0FBQztRQUVoRCxJQUFJLE9BQU8sRUFBRTtZQUNULEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO2dCQUMxQixlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDdkQ7U0FDSjtRQUVELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7OEdBbkZRLHNCQUFzQjtrSEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07OzJGQUVULHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgRXNvbHZlR2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UnO1xuaW1wb3J0IHsgRXNvbHZlQ3VzdG9tRmllbGRzIH0gZnJvbSAnLi4vc2hhcmVkL2N1c3RvbS1maWVsZHMnO1xuXG5pbXBvcnQgeyBFc29sdmVMb2NhdGlvbiB9IGZyb20gJy4vY2xhc3Nlcy9lc29sdmUtbG9jYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgRXNvbHZlTG9jYXRpb25SZWNvcmQgfSBmcm9tICcuL2ludGVyZmFjZXMvZXNvbHZlLWxvY2F0aW9uLXJlY29yZC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVMb2NhdGlvbnNTZXJ2aWNlPFxuICAgIFQgZXh0ZW5kcyBFc29sdmVDdXN0b21GaWVsZHMgPSBFc29sdmVDdXN0b21GaWVsZHMsXG4+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChFc29sdmVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHN0b2NrIGxvY2F0aW9uc1xuICAgICAqXG4gICAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHdpdGggYW4gYXJyYXkgb2Ygc3RvY2sgbG9jYXRpb25zXG4gICAgICovXG4gICAgcHVibGljIGdldFN0b2NrTG9jYXRpb25zKCk6IE9ic2VydmFibGU8RXNvbHZlTG9jYXRpb248VD5bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZUxvY2F0aW9uUmVjb3JkPFQ+W10+PihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtbG9jYXRpb25zLnBocGAsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc1N0b2NrTG9jYXRpb25zKHJlc3BvbnNlLnJlY29yZHMpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHN0b2NrIGxvY2F0aW9ucyB1c2luZyB0aGUgYWRkcmVzc19pZCBhcyBwYXJhbWV0ZXIgb3IgdGhlIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUuXG4gICAgICogU2V0IHRoZSBhZGRyZXNzZXNfaWQgdG8gMCBhbmQgdGhlIGdwcyBjb29yZGluYXRlcyBpbiBvcmRlciB0byByZXRyaWV2ZSB0aGUgbG9jYXRpb25zIGxpc3Qgd2hlbiB0aGUgYWRkcmVzcyBpc24ndFxuICAgICAqIHlldCBzYXZlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhZGRyZXNzZXNfaWQgaWYgc3VwcGxpZWQsIHRoZSBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlIG9uIHRoZSBhZGRyZXNzIHdpbGwgYmUgdXNlZC5cbiAgICAgKiBAcGFyYW0gbGF0aXR1ZGUgaWYgc3VwcGxpZWQgYW5kIGFkZHJlc3NfaWQgPiAwLCB0aGUgdmFsdWUgaXMgaWdub3JlZC5cbiAgICAgKiBAcGFyYW0gbG9uZ2l0dWRlIGlmIHN1cHBsaWVkIGFuZCBhZGRyZXNzX2lkID4gMCwgdGhlIHZhbHVlIGlzIGlnbm9yZWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiBzdG9jayBsb2NhdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U3RvY2tMb2NhdGlvbnNHZW8oXG4gICAgICAgIGFkZHJlc3Nlc19pZCA9IDAsXG4gICAgICAgIGxhdGl0dWRlID0gMCxcbiAgICAgICAgbG9uZ2l0dWRlID0gMCxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUxvY2F0aW9uPFQ+W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVHZXRSZXNwb25zZTxFc29sdmVMb2NhdGlvblJlY29yZDxUPltdPj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWxvY2F0aW9ucy1nZW8ucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzc2VzX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzU3RvY2tMb2NhdGlvbnMocmVzcG9uc2UucmVjb3Jkcyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHN0b2NrIGxvY2F0aW9uIHJlY29yZHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwcm9jZXNzZWQgc3RvY2sgbG9jYXRpb24gcmVjb3Jkc1xuICAgICAqL1xuICAgIHByaXZhdGUgcHJvY2Vzc1N0b2NrTG9jYXRpb25zKFxuICAgICAgICByZWNvcmRzOiBFc29sdmVMb2NhdGlvblJlY29yZDxUPltdLFxuICAgICk6IEVzb2x2ZUxvY2F0aW9uPFQ+W10ge1xuICAgICAgICBjb25zdCBzdG9ja19sb2NhdGlvbnM6IEVzb2x2ZUxvY2F0aW9uPFQ+W10gPSBbXTtcblxuICAgICAgICBpZiAocmVjb3Jkcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xuICAgICAgICAgICAgICAgIHN0b2NrX2xvY2F0aW9ucy5wdXNoKG5ldyBFc29sdmVMb2NhdGlvbjxUPihyZWNvcmQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdG9ja19sb2NhdGlvbnM7XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9uLXJlY29yZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbG9jYXRpb25zL2ludGVyZmFjZXMvZXNvbHZlLWxvY2F0aW9uLXJlY29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlTG9jYXRpb25SZWNvcmQge1xuICAgIGlkOiBudW1iZXI7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIGhlYWRfb2ZmaWNlOiBib29sZWFuO1xuICAgIGRlZmF1bHRfbG9jYXRpb25fZm9yX3BheW1lbnRfbWV0aG9kczogYm9vbGVhbjtcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGV4dGVybmFsX3N5c3RlbV9jb2RlOiBzdHJpbmc7XG4gICAgZXJwX2lkZW50aWZpZXI6IHN0cmluZztcbiAgICB1c2VyaWQ6IG51bWJlcjtcbiAgICBpbXBvcnRhbmNlOiBudW1iZXI7XG4gICAgaXNfYWN0aXZlOiBib29sZWFuO1xuICAgIGRpc3BhdGNoZXNfc3RvY2s6IGJvb2xlYW47XG4gICAgaW5jbHVkZV9vbl9lbnF1aXJpZXM6IGJvb2xlYW47XG4gICAgaW5jbHVkZV9vbl9zdG9yZV9sb2NhdG9yOiBib29sZWFuO1xuICAgIHN0cmVldDogc3RyaW5nO1xuICAgIHN1YnVyYjogc3RyaW5nO1xuICAgIGNpdHk6IHN0cmluZztcbiAgICBwcm92aW5jZTogc3RyaW5nO1xuICAgIGNvdW50cnk6IHN0cmluZztcbiAgICBwb3N0YWxfY29kZTogc3RyaW5nO1xuICAgIGxhdGl0dWRlOiBudW1iZXI7XG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XG4gICAgcG9ib3hfcG9zdGFsX2NvZGU6IHN0cmluZztcbiAgICBwb2JveF9jaXR5OiBzdHJpbmc7XG4gICAgcG9ib3g6IHN0cmluZztcbiAgICBicmFuY2hfdGVsbnVtYmVyOiBzdHJpbmc7XG4gICAgYnJhbmNoX3RlbG51bWJlcl8yOiBzdHJpbmc7XG4gICAgYnJhbmNoX3RlbG51bWJlcl8zOiBzdHJpbmc7XG4gICAgYnJhbmNoX2NlbGxudW1iZXI6IHN0cmluZztcbiAgICBicmFuY2hfZmF4OiBzdHJpbmc7XG4gICAgYnJhbmNoX2VtYWlsOiBzdHJpbmc7XG4gICAgbW9uZGF5X29wZW5fdGltZTogc3RyaW5nO1xuICAgIG1vbmRheV9jbG9zZV90aW1lOiBzdHJpbmc7XG4gICAgdHVlc2RheV9vcGVuX3RpbWU6IHN0cmluZztcbiAgICB0dWVzZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcbiAgICB3ZWRuZXNkYXlfb3Blbl90aW1lOiBzdHJpbmc7XG4gICAgd2VkbmVzZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcbiAgICB0aHVyc2RheV9vcGVuX3RpbWU6IHN0cmluZztcbiAgICB0aHVyc2RheV9jbG9zZV90aW1lOiBzdHJpbmc7XG4gICAgZnJpZGF5X29wZW5fdGltZTogc3RyaW5nO1xuICAgIGZyaWRheV9jbG9zZV90aW1lOiBzdHJpbmc7XG4gICAgc2F0dXJkYXlfb3Blbl90aW1lOiBzdHJpbmc7XG4gICAgc2F0dXJkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xuICAgIHN1bmRheV9vcGVuX3RpbWU6IHN0cmluZztcbiAgICBzdW5kYXlfY2xvc2VfdGltZTogc3RyaW5nO1xuICAgIHB1YmxpY19ob2xpZGF5X29wZW5fdGltZTogc3RyaW5nO1xuICAgIHB1YmxpY19ob2xpZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcbiAgICB0cmFkaW5nX2hvdXJzX2FkZGl0aW9uYWxfaW5mbz86IHN0cmluZztcbiAgICB3ZWJzaXRlX3VybDogc3RyaW5nO1xuICAgIGRpc3RhbmNlOiBudW1iZXI7XG4gICAgcmFuZ2U6IG51bWJlcjtcbiAgICB0YXJnZXRfZGVzY3JpcHRpb246IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvY2F0aW9uLXJlY29yZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvbG9jYXRpb25zL2ludGVyZmFjZXMvZXNvbHZlLWxvY2F0aW9uLXJlY29yZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZUN1c3RvbUZpZWxkcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jdXN0b20tZmllbGRzJztcblxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVMb2NhdGlvblJlY29yZDxcbiAgICBUIGV4dGVuZHMgRXNvbHZlQ3VzdG9tRmllbGRzID0gRXNvbHZlQ3VzdG9tRmllbGRzLFxuPiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBpZGVudGlmaWVyOiBzdHJpbmc7XG4gICAgaGVhZF9vZmZpY2U6IGJvb2xlYW47XG4gICAgZGVmYXVsdF9sb2NhdGlvbl9mb3JfcGF5bWVudF9tZXRob2RzOiBib29sZWFuO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgZXh0ZXJuYWxfc3lzdGVtX2NvZGU6IHN0cmluZztcbiAgICBlcnBfaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIHVzZXJpZDogbnVtYmVyO1xuICAgIGltcG9ydGFuY2U6IG51bWJlcjtcbiAgICBpc19hY3RpdmU6IGJvb2xlYW47XG4gICAgZGlzcGF0Y2hlc19zdG9jazogYm9vbGVhbjtcbiAgICBpbmNsdWRlX29uX2VucXVpcmllczogYm9vbGVhbjtcbiAgICBpbmNsdWRlX29uX3N0b3JlX2xvY2F0b3I6IGJvb2xlYW47XG4gICAgc3RyZWV0OiBzdHJpbmc7XG4gICAgc3VidXJiOiBzdHJpbmc7XG4gICAgY2l0eTogc3RyaW5nO1xuICAgIHByb3ZpbmNlOiBzdHJpbmc7XG4gICAgY291bnRyeTogc3RyaW5nO1xuICAgIHBvc3RhbF9jb2RlOiBzdHJpbmc7XG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcbiAgICBsb25naXR1ZGU6IG51bWJlcjtcbiAgICBwb2JveF9wb3N0YWxfY29kZTogc3RyaW5nO1xuICAgIHBvYm94X2NpdHk6IHN0cmluZztcbiAgICBwb2JveDogc3RyaW5nO1xuICAgIGJyYW5jaF90ZWxudW1iZXI6IHN0cmluZztcbiAgICBicmFuY2hfdGVsbnVtYmVyXzI6IHN0cmluZztcbiAgICBicmFuY2hfdGVsbnVtYmVyXzM6IHN0cmluZztcbiAgICBicmFuY2hfY2VsbG51bWJlcjogc3RyaW5nO1xuICAgIGJyYW5jaF9mYXg6IHN0cmluZztcbiAgICBicmFuY2hfZW1haWw6IHN0cmluZztcbiAgICBtb25kYXlfb3Blbl90aW1lOiBzdHJpbmc7XG4gICAgbW9uZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcbiAgICB0dWVzZGF5X29wZW5fdGltZTogc3RyaW5nO1xuICAgIHR1ZXNkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xuICAgIHdlZG5lc2RheV9vcGVuX3RpbWU6IHN0cmluZztcbiAgICB3ZWRuZXNkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xuICAgIHRodXJzZGF5X29wZW5fdGltZTogc3RyaW5nO1xuICAgIHRodXJzZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcbiAgICBmcmlkYXlfb3Blbl90aW1lOiBzdHJpbmc7XG4gICAgZnJpZGF5X2Nsb3NlX3RpbWU6IHN0cmluZztcbiAgICBzYXR1cmRheV9vcGVuX3RpbWU6IHN0cmluZztcbiAgICBzYXR1cmRheV9jbG9zZV90aW1lOiBzdHJpbmc7XG4gICAgc3VuZGF5X29wZW5fdGltZTogc3RyaW5nO1xuICAgIHN1bmRheV9jbG9zZV90aW1lOiBzdHJpbmc7XG4gICAgcHVibGljX2hvbGlkYXlfb3Blbl90aW1lOiBzdHJpbmc7XG4gICAgcHVibGljX2hvbGlkYXlfY2xvc2VfdGltZTogc3RyaW5nO1xuICAgIHRyYWRpbmdfaG91cnNfYWRkaXRpb25hbF9pbmZvPzogc3RyaW5nO1xuICAgIHdlYnNpdGVfdXJsOiBzdHJpbmc7XG4gICAgZGlzdGFuY2U6IG51bWJlcjtcbiAgICByYW5nZTogbnVtYmVyO1xuICAgIHRhcmdldF9kZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGN1c3RvbV9maWVsZHM/OiBUO1xufVxuIl19
@@ -15,4 +15,4 @@ export class EsolveMediaLayoutSection {
15
15
  return this.data;
16
16
  }
17
17
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC1zZWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9tZWRpYS9zcmMvbGliL2NsYXNzZXMvZXNvbHZlLW1lZGlhLWxheW91dC1zZWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyx3QkFBd0I7SUFPakMsWUFBWSxNQUFzQztRQUwzQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBTWpCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUV0QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBUyxDQUFDO0lBQzFCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvblJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uVHlwZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvbiB7XG4gICAgcHVibGljIHR5cGU6IEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvblR5cGU7XG4gICAgcHVibGljIHN1Yl90eXBlID0gJyc7XG4gICAgcHVibGljIGlkZW50aWZpZXI6IHN0cmluZztcblxuICAgIHByaXZhdGUgZGF0YT86IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZDogRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uUmVjb3JkKSB7XG4gICAgICAgIHRoaXMudHlwZSA9IHJlY29yZC50eXBlO1xuICAgICAgICB0aGlzLmlkZW50aWZpZXIgPSByZWNvcmQuaWRlbnRpZmllcjtcbiAgICAgICAgdGhpcy5zdWJfdHlwZSA9IHJlY29yZC5zdWJfdHlwZSA/PyAnJztcblxuICAgICAgICBpZiAocmVjb3JkLmRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlY29yZC5kYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldERhdGE8VD4oKTogVCB8IG51bGwge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGF0YSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YSBhcyBUO1xuICAgIH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC1zZWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9tZWRpYS9zcmMvbGliL2NsYXNzZXMvZXNvbHZlLW1lZGlhLWxheW91dC1zZWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBTyx3QkFBd0I7SUFPakMsWUFBWSxNQUFzQztRQUwzQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBTWpCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUV0QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBUyxDQUFDO0lBQzFCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uUmVjb3JkLFxuICAgIEVzb2x2ZU1lZGlhU2VjdGlvbkRhdGFHZW5lcmljLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvblR5cGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBFc29sdmVNZWRpYUxheW91dFNlY3Rpb24ge1xuICAgIHB1YmxpYyB0eXBlOiBFc29sdmVNZWRpYUxheW91dFNlY3Rpb25UeXBlO1xuICAgIHB1YmxpYyBzdWJfdHlwZSA9ICcnO1xuICAgIHB1YmxpYyBpZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIGRhdGE/OiBFc29sdmVNZWRpYVNlY3Rpb25EYXRhR2VuZXJpYztcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZDogRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uUmVjb3JkKSB7XG4gICAgICAgIHRoaXMudHlwZSA9IHJlY29yZC50eXBlO1xuICAgICAgICB0aGlzLmlkZW50aWZpZXIgPSByZWNvcmQuaWRlbnRpZmllcjtcbiAgICAgICAgdGhpcy5zdWJfdHlwZSA9IHJlY29yZC5zdWJfdHlwZSA/PyAnJztcblxuICAgICAgICBpZiAocmVjb3JkLmRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlY29yZC5kYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldERhdGE8VCA9IEVzb2x2ZU1lZGlhU2VjdGlvbkRhdGFHZW5lcmljPigpOiBUIHwgbnVsbCB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kYXRhID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhIGFzIFQ7XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxheW91dC1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9tZWRpYS9zcmMvbGliL2ludGVyZmFjZXMvZXNvbHZlLWxheW91dC1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IEVzb2x2ZUxheW91dFNlY3Rpb25Db25maWcgfSBmcm9tICcuL2Vzb2x2ZS1sYXlvdXQtc2VjdGlvbi1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVMYXlvdXRDb25maWcge1xuICAgIGtleTogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxhbnk+O1xuICAgIHNlY3Rpb25zPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBFc29sdmVMYXlvdXRTZWN0aW9uQ29uZmlnW107XG4gICAgfTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxheW91dC1jb25maWcuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9tZWRpYS9zcmMvbGliL2ludGVyZmFjZXMvZXNvbHZlLWxheW91dC1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IEVzb2x2ZUxheW91dFNlY3Rpb25Db25maWcgfSBmcm9tICcuL2Vzb2x2ZS1sYXlvdXQtc2VjdGlvbi1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVMYXlvdXRDb25maWcge1xuICAgIGtleTogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxhbnk+O1xuICAgIHNlY3Rpb25zPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBFc29sdmVMYXlvdXRTZWN0aW9uQ29uZmlnW10gfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIERlZmF1bHQgc2VjdGlvbnMgdG8gdXNlIGZvciBlbnRpcmUgbGF5b3V0XG4gICAgICAgICAqL1xuICAgICAgICBfX2RlZmF1bHQ/OiBFc29sdmVMYXlvdXRTZWN0aW9uQ29uZmlnW107XG4gICAgfTtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC1zZWN0aW9uLXJlY29yZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L21lZGlhL3NyYy9saWIvaW50ZXJmYWNlcy9lc29sdmUtbWVkaWEtbGF5b3V0LXNlY3Rpb24tcmVjb3JkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uVHlwZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVNZWRpYUxheW91dFNlY3Rpb25SZWNvcmQge1xuICAgIHR5cGU6IEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvblR5cGU7XG4gICAgc3ViX3R5cGU/OiBzdHJpbmc7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIGRhdGE/OiBhbnk7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC1zZWN0aW9uLXJlY29yZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L21lZGlhL3NyYy9saWIvaW50ZXJmYWNlcy9lc29sdmUtbWVkaWEtbGF5b3V0LXNlY3Rpb24tcmVjb3JkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uVHlwZSB9IGZyb20gJy4uL3R5cGVzJztcblxuaW1wb3J0IHsgRXNvbHZlTWVkaWFTZWN0aW9uRGF0YUdlbmVyaWMgfSBmcm9tICcuL2Vzb2x2ZS1tZWRpYS1zZWN0aW9uLWRhdGEtZ2VuZXJpYy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvblJlY29yZCB7XG4gICAgdHlwZTogRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uVHlwZTtcbiAgICBzdWJfdHlwZT86IHN0cmluZztcbiAgICBpZGVudGlmaWVyOiBzdHJpbmc7XG4gICAgZGF0YT86IEVzb2x2ZU1lZGlhU2VjdGlvbkRhdGFHZW5lcmljIHwgbnVsbDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLXNlY3Rpb24tZGF0YS1nZW5lcmljLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3QvbWVkaWEvc3JjL2xpYi9pbnRlcmZhY2VzL2Vzb2x2ZS1tZWRpYS1zZWN0aW9uLWRhdGEtZ2VuZXJpYy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlTWVkaWFTZWN0aW9uRGF0YUdlbmVyaWMge1xuICAgIFtkYXRhX2ZpZWxkOiBzdHJpbmddOlxuICAgICAgICB8IHN0cmluZ1xuICAgICAgICB8IG51bWJlclxuICAgICAgICB8IGJvb2xlYW5cbiAgICAgICAgfCAoc3RyaW5nIHwgbnVtYmVyKVtdXG4gICAgICAgIHwge1xuICAgICAgICAgICAgICBtaW46IG51bWJlcjtcbiAgICAgICAgICAgICAgbWF4OiBudW1iZXI7XG4gICAgICAgICAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLXN0b2NrLXNlY3Rpb24tZGF0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L21lZGlhL3NyYy9saWIvaW50ZXJmYWNlcy9lc29sdmUtbWVkaWEtc3RvY2stc2VjdGlvbi1kYXRhLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVNZWRpYVN0b2NrU2VjdGlvbkRhdGEge1xuICAgIHRhZ3M6IChzdHJpbmcgfCBudW1iZXIpW107XG59XG4iXX0=
@@ -6,4 +6,6 @@ export * from './esolve-media-group-record.interface';
6
6
  export * from './esolve-media-layout-section-record.interface';
7
7
  export * from './esolve-media-link-record.interface';
8
8
  export * from './esolve-connect-media-config.interface';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L21lZGlhL3NyYy9saWIvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1sYXlvdXQtY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1sYXlvdXQtc2VjdGlvbi1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWhlYWRpbmctcmVjb3JkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1tZWRpYS1yZWNvcmQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLW1lZGlhLWdyb3VwLXJlY29yZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbWVkaWEtbGF5b3V0LXNlY3Rpb24tcmVjb3JkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1tZWRpYS1saW5rLXJlY29yZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtY29ubmVjdC1tZWRpYS1jb25maWcuaW50ZXJmYWNlJztcbiJdfQ==
9
+ export * from './esolve-media-section-data-generic.interface';
10
+ export * from './esolve-media-stock-section-data.interface';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L21lZGlhL3NyYy9saWIvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDZDQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbGF5b3V0LWNvbmZpZy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbGF5b3V0LXNlY3Rpb24tY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1oZWFkaW5nLXJlY29yZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbWVkaWEtcmVjb3JkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1tZWRpYS1ncm91cC1yZWNvcmQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLW1lZGlhLWxheW91dC1zZWN0aW9uLXJlY29yZC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbWVkaWEtbGluay1yZWNvcmQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWNvbm5lY3QtbWVkaWEtY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1tZWRpYS1zZWN0aW9uLWRhdGEtZ2VuZXJpYy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtbWVkaWEtc3RvY2stc2VjdGlvbi1kYXRhLmludGVyZmFjZSc7XG4iXX0=
@@ -4,6 +4,8 @@ import * as i0 from "@angular/core";
4
4
  export class EsolveMediaLayoutService {
5
5
  constructor() {
6
6
  this.section_key_delimiter = '>>>';
7
+ this.default_section_group_key = '__default';
8
+ this.default_layout_key = '__default__';
7
9
  this.layout_map = new Map();
8
10
  this.section_map = new Map();
9
11
  const config = inject(ESOLVE_CONNECT_MEDIA_CONFIG);
@@ -15,13 +17,16 @@ export class EsolveMediaLayoutService {
15
17
  if (layout.sections) {
16
18
  for (const section_group_key in layout.sections) {
17
19
  const sections = layout.sections[section_group_key];
20
+ if (!sections || sections.length === 0) {
21
+ continue;
22
+ }
18
23
  for (const section of sections) {
19
24
  const key_options = {
20
25
  type: section.key,
21
26
  sub_type: section.sub_key,
22
27
  layout: layout.key,
23
28
  };
24
- if (section_group_key !== '__default') {
29
+ if (section_group_key !== this.default_section_group_key) {
25
30
  key_options.group = section_group_key;
26
31
  }
27
32
  this.setSection(section.component, key_options);
@@ -107,6 +112,9 @@ export class EsolveMediaLayoutService {
107
112
  throw new Error('Section component not defined');
108
113
  }
109
114
  searchLayout(layout_key) {
115
+ if (layout_key === this.default_layout_key) {
116
+ layout_key = this.default_layout;
117
+ }
110
118
  const component = this.layout_map.get(layout_key);
111
119
  if (!component) {
112
120
  throw new Error('Layout not declared');
@@ -140,4 +148,4 @@ export class EsolveMediaLayoutService {
140
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: EsolveMediaLayoutService, decorators: [{
141
149
  type: Injectable
142
150
  }], ctorParameters: function () { return []; } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9tZWRpYS9zcmMvbGliL3NlcnZpY2VzL2Vzb2x2ZS1tZWRpYS1sYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtuRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFZbkYsTUFBTSxPQUFPLHdCQUF3QjtJQVFqQztRQVBpQiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFHdkMsZUFBVSxHQUFpQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLGdCQUFXLEdBQWlCLElBQUksR0FBRyxFQUFFLENBQUM7UUFJMUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFbkQsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFN0MsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUNqQixLQUFLLE1BQU0saUJBQWlCLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtvQkFDN0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUVwRCxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRTt3QkFDNUIsTUFBTSxXQUFXLEdBQXNCOzRCQUNu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QyxXQUE4QjtRQUN0RCxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsV0FBVyxDQUFDO1FBRXRELE1BQU0sU0FBUyxHQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkMsSUFBSSxRQUFRLEVBQUU7WUFDVixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzVCO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDUixTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXZCLElBQUksS0FBSyxFQUFFO2dCQUNQLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDekI7U0FDSjtRQUVELE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN0RCxDQUFDOzhHQXRMUSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFc29sdmVNZWRpYUFydGljbGUsIEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvbiB9IGZyb20gJy4uL2NsYXNzZXMnO1xuaW1wb3J0IHsgRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uVHlwZSB9IGZyb20gJy4uL3R5cGVzJztcblxuaW1wb3J0IHsgRVNPTFZFX0NPTk5FQ1RfTUVESUFfQ09ORklHIH0gZnJvbSAnLi4vZXNvbHZlLWNvbm5lY3QtbWVkaWEtY29uZmlnLnRva2VuJztcblxudHlwZSBDb21wb25lbnRNYXAgPSBNYXA8c3RyaW5nLCBDb21wb25lbnRUeXBlPGFueT4+O1xuXG50eXBlIFNlY3Rpb25LZXlPcHRpb25zID0ge1xuICAgIHR5cGU6IEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvblR5cGU7XG4gICAgc3ViX3R5cGU/OiBzdHJpbmc7XG4gICAgbGF5b3V0Pzogc3RyaW5nO1xuICAgIGdyb3VwPzogc3RyaW5nO1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVzb2x2ZU1lZGlhTGF5b3V0U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWN0aW9uX2tleV9kZWxpbWl0ZXIgPSAnPj4+JztcblxuICAgIHByaXZhdGUgbWVkaWE/OiBFc29sdmVNZWRpYUFydGljbGU7XG4gICAgcHJpdmF0ZSBsYXlvdXRfbWFwOiBDb21wb25lbnRNYXAgPSBuZXcgTWFwKCk7XG4gICAgcHJpdmF0ZSBzZWN0aW9uX21hcDogQ29tcG9uZW50TWFwID0gbmV3IE1hcCgpO1xuICAgIHByaXZhdGUgZGVmYXVsdF9sYXlvdXQ6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBjb25maWcgPSBpbmplY3QoRVNPTFZFX0NPTk5FQ1RfTUVESUFfQ09ORklHKTtcblxuICAgICAgICBpZiAoY29uZmlnLmxheW91dHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGxheW91dHMgaGF2ZSBiZWVuIGRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgbGF5b3V0IG9mIGNvbmZpZy5sYXlvdXRzKSB7XG4gICAgICAgICAgICB0aGlzLnNldExheW91dChsYXlvdXQua2V5LCBsYXlvdXQuY29tcG9uZW50KTtcblxuICAgICAgICAgICAgaWYgKGxheW91dC5zZWN0aW9ucykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc2VjdGlvbl9ncm91cF9rZXkgaW4gbGF5b3V0LnNlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlY3Rpb25zID0gbGF5b3V0LnNlY3Rpb25zW3NlY3Rpb25fZ3JvdXBfa2V5XTtcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHNlY3Rpb24gb2Ygc2VjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleV9vcHRpb25zOiBTZWN0aW9uS2V5T3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBzZWN0aW9uLmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJfdHlwZTogc2VjdGlvbi5zdWJfa2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dDogbGF5b3V0LmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWN0aW9uX2dyb3VwX2tleSAhPT0gJ19fZGVmYXVsdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlfb3B0aW9ucy5ncm91cCA9IHNlY3Rpb25fZ3JvdXBfa2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFNlY3Rpb24oc2VjdGlvbi5jb21wb25lbnQsIGtleV9vcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRfbGF5b3V0ID0gY29uZmlnLmRlZmF1bHRfbGF5b3V0O1xuXG4gICAgICAgIGlmIChkZWZhdWx0X2xheW91dCkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0X2xheW91dCA9IGRlZmF1bHRfbGF5b3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0X2xheW91dCA9IGNvbmZpZy5sYXlvdXRzWzBdLmtleTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb25maWcuc2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBzZWN0aW9uIG9mIGNvbmZpZy5zZWN0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGtleV9vcHRpb25zOiBTZWN0aW9uS2V5T3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogc2VjdGlvbi5rZXksXG4gICAgICAgICAgICAgICAgICAgIHN1Yl90eXBlOiBzZWN0aW9uLnN1Yl9rZXksXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U2VjdGlvbihzZWN0aW9uLmNvbXBvbmVudCwga2V5X29wdGlvbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1lZGlhKCkge1xuICAgICAgICBpZiAoIXRoaXMubWVkaWEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTWVkaWEgbm90IGRlY2xhcmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZWRpYTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TWVkaWEobWVkaWE6IEVzb2x2ZU1lZGlhQXJ0aWNsZSkge1xuICAgICAgICB0aGlzLm1lZGlhID0gbWVkaWE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExheW91dCgpIHtcbiAgICAgICAgY29uc3QgbWVkaWEgPSB0aGlzLmdldE1lZGlhKCk7XG5cbiAgICAgICAgbGV0IGxheW91dF9rZXkgPSBtZWRpYS5sYXlvdXQ7XG5cbiAgICAgICAgaWYgKGxheW91dF9rZXkgPT09ICcnKSB7XG4gICAgICAgICAgICBsYXlvdXRfa2V5ID0gdGhpcy5kZWZhdWx0X2xheW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaExheW91dChsYXlvdXRfa2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2VjdGlvbkNvbnRlbnQoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgbWVkaWEgPSB0aGlzLmdldE1lZGlhKCk7XG5cbiAgICAgICAgaWYgKG1lZGlhLnNlY3Rpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBzZWN0aW9uID0gbWVkaWEuc2VjdGlvbnMuZ2V0KGtleSk7XG5cbiAgICAgICAgICAgIGlmIChzZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlY3Rpb25Db21wb25lbnQoa2V5OiBzdHJpbmcsIHNlY3Rpb246IEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvbikge1xuICAgICAgICBjb25zdCB0eXBlID0gc2VjdGlvbi50eXBlO1xuICAgICAgICBjb25zdCBzdWJfdHlwZSA9IHNlY3Rpb24uc3ViX3R5cGU7XG4gICAgICAgIGNvbnN0IHsgbGF5b3V0IH0gPSB0aGlzLmdldE1lZGlhKCk7XG5cbiAgICAgICAgY29uc3Qgc2VjdGlvbl9rZXkgPSB0aGlzLmNyZWF0ZVNlY3Rpb25NYXBLZXkoe1xuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIHN1Yl90eXBlLFxuICAgICAgICAgICAgbGF5b3V0LFxuICAgICAgICAgICAgZ3JvdXA6IGtleSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IGNvbXBvbmVudCA9IHRoaXMuc2VjdGlvbl9tYXAuZ2V0KHNlY3Rpb25fa2V5KTtcblxuICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGF5b3V0X2tleSA9IHRoaXMuY3JlYXRlU2VjdGlvbk1hcEtleSh7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgc3ViX3R5cGUsXG4gICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbXBvbmVudCA9IHRoaXMuc2VjdGlvbl9tYXAuZ2V0KGxheW91dF9rZXkpO1xuXG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBiYXNlX2tleSA9IHRoaXMuY3JlYXRlU2VjdGlvbk1hcEtleSh7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgc3ViX3R5cGUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbXBvbmVudCA9IHRoaXMuc2VjdGlvbl9tYXAuZ2V0KGJhc2Vfa2V5KTtcblxuICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTZWN0aW9uIGNvbXBvbmVudCBub3QgZGVmaW5lZCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VhcmNoTGF5b3V0KGxheW91dF9rZXk6IHN0cmluZykge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmxheW91dF9tYXAuZ2V0KGxheW91dF9rZXkpO1xuXG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xheW91dCBub3QgZGVjbGFyZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMYXlvdXQoa2V5OiBzdHJpbmcsIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxhbnk+KSB7XG4gICAgICAgIHRoaXMubGF5b3V0X21hcC5zZXQoa2V5LCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2VjdGlvbihcbiAgICAgICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPGFueT4sXG4gICAgICAgIGtleV9vcHRpb25zOiBTZWN0aW9uS2V5T3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5jcmVhdGVTZWN0aW9uTWFwS2V5KGtleV9vcHRpb25zKTtcblxuICAgICAgICB0aGlzLnNlY3Rpb25fbWFwLnNldChrZXksIGNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTZWN0aW9uTWFwS2V5KGtleV9vcHRpb25zOiBTZWN0aW9uS2V5T3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IHR5cGUsIHN1Yl90eXBlLCBsYXlvdXQsIGdyb3VwIH0gPSBrZXlfb3B0aW9ucztcblxuICAgICAgICBjb25zdCBrZXlfYXJyYXk6IHN0cmluZ1tdID0gW3R5cGVdO1xuXG4gICAgICAgIGlmIChzdWJfdHlwZSkge1xuICAgICAgICAgICAga2V5X2FycmF5LnB1c2goc3ViX3R5cGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxheW91dCkge1xuICAgICAgICAgICAga2V5X2FycmF5LnB1c2gobGF5b3V0KTtcblxuICAgICAgICAgICAgaWYgKGdyb3VwKSB7XG4gICAgICAgICAgICAgICAga2V5X2FycmF5LnB1c2goZ3JvdXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGtleV9hcnJheS5qb2luKHRoaXMuc2VjdGlvbl9rZXlfZGVsaW1pdGVyKTtcbiAgICB9XG59XG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9tZWRpYS9zcmMvbGliL3NlcnZpY2VzL2Vzb2x2ZS1tZWRpYS1sYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtuRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFZbkYsTUFBTSxPQUFPLHdCQUF3QjtJQVVqQztRQVRpQiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsOEJBQXlCLEdBQUcsV0FBVyxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLGFBQWEsQ0FBQztRQUc1QyxlQUFVLEdBQWlCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckMsZ0JBQVcsR0FBaUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUkxQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUVuRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDbkQ7UUFFRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUU3QyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLEtBQUssTUFBTSxpQkFBaUIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO29CQUM3QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBRXBELElB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QyxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxVQUFVLENBQ2QsU0FBNkIsRUFDN0IsV0FBOEI7UUFFOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsV0FBOEI7UUFDdEQsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFdBQVcsQ0FBQztRQUV0RCxNQUFNLFNBQVMsR0FBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLElBQUksUUFBUSxFQUFFO1lBQ1YsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM1QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1IsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV2QixJQUFJLEtBQUssRUFBRTtnQkFDUCxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO1NBQ0o7UUFFRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0FsTVEsd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRXNvbHZlTWVkaWFBcnRpY2xlLCBFc29sdmVNZWRpYUxheW91dFNlY3Rpb24gfSBmcm9tICcuLi9jbGFzc2VzJztcbmltcG9ydCB7IEVzb2x2ZU1lZGlhTGF5b3V0U2VjdGlvblR5cGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IEVTT0xWRV9DT05ORUNUX01FRElBX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LW1lZGlhLWNvbmZpZy50b2tlbic7XG5cbnR5cGUgQ29tcG9uZW50TWFwID0gTWFwPHN0cmluZywgQ29tcG9uZW50VHlwZTxhbnk+PjtcblxudHlwZSBTZWN0aW9uS2V5T3B0aW9ucyA9IHtcbiAgICB0eXBlOiBFc29sdmVNZWRpYUxheW91dFNlY3Rpb25UeXBlO1xuICAgIHN1Yl90eXBlPzogc3RyaW5nO1xuICAgIGxheW91dD86IHN0cmluZztcbiAgICBncm91cD86IHN0cmluZztcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFc29sdmVNZWRpYUxheW91dFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdGlvbl9rZXlfZGVsaW1pdGVyID0gJz4+Pic7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0X3NlY3Rpb25fZ3JvdXBfa2V5ID0gJ19fZGVmYXVsdCc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0X2xheW91dF9rZXkgPSAnX19kZWZhdWx0X18nO1xuXG4gICAgcHJpdmF0ZSBtZWRpYT86IEVzb2x2ZU1lZGlhQXJ0aWNsZTtcbiAgICBwcml2YXRlIGxheW91dF9tYXA6IENvbXBvbmVudE1hcCA9IG5ldyBNYXAoKTtcbiAgICBwcml2YXRlIHNlY3Rpb25fbWFwOiBDb21wb25lbnRNYXAgPSBuZXcgTWFwKCk7XG4gICAgcHJpdmF0ZSBkZWZhdWx0X2xheW91dDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdChFU09MVkVfQ09OTkVDVF9NRURJQV9DT05GSUcpO1xuXG4gICAgICAgIGlmIChjb25maWcubGF5b3V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gbGF5b3V0cyBoYXZlIGJlZW4gZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBsYXlvdXQgb2YgY29uZmlnLmxheW91dHMpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TGF5b3V0KGxheW91dC5rZXksIGxheW91dC5jb21wb25lbnQpO1xuXG4gICAgICAgICAgICBpZiAobGF5b3V0LnNlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBzZWN0aW9uX2dyb3VwX2tleSBpbiBsYXlvdXQuc2VjdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VjdGlvbnMgPSBsYXlvdXQuc2VjdGlvbnNbc2VjdGlvbl9ncm91cF9rZXldO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghc2VjdGlvbnMgfHwgc2VjdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc2VjdGlvbiBvZiBzZWN0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5X29wdGlvbnM6IFNlY3Rpb25LZXlPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHNlY3Rpb24ua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Yl90eXBlOiBzZWN0aW9uLnN1Yl9rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0OiBsYXlvdXQua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb25fZ3JvdXBfa2V5ICE9PSB0aGlzLmRlZmF1bHRfc2VjdGlvbl9ncm91cF9rZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9vcHRpb25zLmdyb3VwID0gc2VjdGlvbl9ncm91cF9rZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2VjdGlvbihzZWN0aW9uLmNvbXBvbmVudCwga2V5X29wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdF9sYXlvdXQgPSBjb25maWcuZGVmYXVsdF9sYXlvdXQ7XG5cbiAgICAgICAgaWYgKGRlZmF1bHRfbGF5b3V0KSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRfbGF5b3V0ID0gZGVmYXVsdF9sYXlvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRfbGF5b3V0ID0gY29uZmlnLmxheW91dHNbMF0ua2V5O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZpZy5zZWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHNlY3Rpb24gb2YgY29uZmlnLnNlY3Rpb25zKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qga2V5X29wdGlvbnM6IFNlY3Rpb25LZXlPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBzZWN0aW9uLmtleSxcbiAgICAgICAgICAgICAgICAgICAgc3ViX3R5cGU6IHNlY3Rpb24uc3ViX2tleSxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTZWN0aW9uKHNlY3Rpb24uY29tcG9uZW50LCBrZXlfb3B0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWVkaWEoKSB7XG4gICAgICAgIGlmICghdGhpcy5tZWRpYSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNZWRpYSBub3QgZGVjbGFyZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm1lZGlhO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRNZWRpYShtZWRpYTogRXNvbHZlTWVkaWFBcnRpY2xlKSB7XG4gICAgICAgIHRoaXMubWVkaWEgPSBtZWRpYTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGF5b3V0KCkge1xuICAgICAgICBjb25zdCBtZWRpYSA9IHRoaXMuZ2V0TWVkaWEoKTtcblxuICAgICAgICBsZXQgbGF5b3V0X2tleSA9IG1lZGlhLmxheW91dDtcblxuICAgICAgICBpZiAobGF5b3V0X2tleSA9PT0gJycpIHtcbiAgICAgICAgICAgIGxheW91dF9rZXkgPSB0aGlzLmRlZmF1bHRfbGF5b3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoTGF5b3V0KGxheW91dF9rZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZWN0aW9uQ29udGVudChrZXk6IHN0cmluZykge1xuICAgICAgICBjb25zdCBtZWRpYSA9IHRoaXMuZ2V0TWVkaWEoKTtcblxuICAgICAgICBpZiAobWVkaWEuc2VjdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3Rpb24gPSBtZWRpYS5zZWN0aW9ucy5nZXQoa2V5KTtcblxuICAgICAgICAgICAgaWYgKHNlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VjdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2VjdGlvbkNvbXBvbmVudChrZXk6IHN0cmluZywgc2VjdGlvbjogRXNvbHZlTWVkaWFMYXlvdXRTZWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBzZWN0aW9uLnR5cGU7XG4gICAgICAgIGNvbnN0IHN1Yl90eXBlID0gc2VjdGlvbi5zdWJfdHlwZTtcbiAgICAgICAgY29uc3QgeyBsYXlvdXQgfSA9IHRoaXMuZ2V0TWVkaWEoKTtcblxuICAgICAgICBjb25zdCBzZWN0aW9uX2tleSA9IHRoaXMuY3JlYXRlU2VjdGlvbk1hcEtleSh7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgc3ViX3R5cGUsXG4gICAgICAgICAgICBsYXlvdXQsXG4gICAgICAgICAgICBncm91cDoga2V5LFxuICAgICAgICB9KTtcblxuICAgICAgICBsZXQgY29tcG9uZW50ID0gdGhpcy5zZWN0aW9uX21hcC5nZXQoc2VjdGlvbl9rZXkpO1xuXG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYXlvdXRfa2V5ID0gdGhpcy5jcmVhdGVTZWN0aW9uTWFwS2V5KHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBzdWJfdHlwZSxcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29tcG9uZW50ID0gdGhpcy5zZWN0aW9uX21hcC5nZXQobGF5b3V0X2tleSk7XG5cbiAgICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhc2Vfa2V5ID0gdGhpcy5jcmVhdGVTZWN0aW9uTWFwS2V5KHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBzdWJfdHlwZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29tcG9uZW50ID0gdGhpcy5zZWN0aW9uX21hcC5nZXQoYmFzZV9rZXkpO1xuXG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NlY3Rpb24gY29tcG9uZW50IG5vdCBkZWZpbmVkJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWFyY2hMYXlvdXQobGF5b3V0X2tleTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChsYXlvdXRfa2V5ID09PSB0aGlzLmRlZmF1bHRfbGF5b3V0X2tleSkge1xuICAgICAgICAgICAgbGF5b3V0X2tleSA9IHRoaXMuZGVmYXVsdF9sYXlvdXQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmxheW91dF9tYXAuZ2V0KGxheW91dF9rZXkpO1xuXG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xheW91dCBub3QgZGVjbGFyZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMYXlvdXQoa2V5OiBzdHJpbmcsIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxhbnk+KSB7XG4gICAgICAgIHRoaXMubGF5b3V0X21hcC5zZXQoa2V5LCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2VjdGlvbihcbiAgICAgICAgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPGFueT4sXG4gICAgICAgIGtleV9vcHRpb25zOiBTZWN0aW9uS2V5T3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5jcmVhdGVTZWN0aW9uTWFwS2V5KGtleV9vcHRpb25zKTtcblxuICAgICAgICB0aGlzLnNlY3Rpb25fbWFwLnNldChrZXksIGNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTZWN0aW9uTWFwS2V5KGtleV9vcHRpb25zOiBTZWN0aW9uS2V5T3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IHR5cGUsIHN1Yl90eXBlLCBsYXlvdXQsIGdyb3VwIH0gPSBrZXlfb3B0aW9ucztcblxuICAgICAgICBjb25zdCBrZXlfYXJyYXk6IHN0cmluZ1tdID0gW3R5cGVdO1xuXG4gICAgICAgIGlmIChzdWJfdHlwZSkge1xuICAgICAgICAgICAga2V5X2FycmF5LnB1c2goc3ViX3R5cGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxheW91dCkge1xuICAgICAgICAgICAga2V5X2FycmF5LnB1c2gobGF5b3V0KTtcblxuICAgICAgICAgICAgaWYgKGdyb3VwKSB7XG4gICAgICAgICAgICAgICAga2V5X2FycmF5LnB1c2goZ3JvdXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGtleV9hcnJheS5qb2luKHRoaXMuc2VjdGlvbl9rZXlfZGVsaW1pdGVyKTtcbiAgICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC1zZWN0aW9uLXR5cGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3QvbWVkaWEvc3JjL2xpYi90eXBlcy9lc29sdmUtbWVkaWEtbGF5b3V0LXNlY3Rpb24tdHlwZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFc29sdmVNZWRpYUxheW91dFNlY3Rpb25UeXBlID1cbiAgICB8ICdtZWRpYSdcbiAgICB8ICdiYW5uZXInXG4gICAgfCAnbGlua2VkX3N0b2NrJ1xuICAgIHwgJ2N1c3RvbSc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLW1lZGlhLWxheW91dC1zZWN0aW9uLXR5cGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3QvbWVkaWEvc3JjL2xpYi90eXBlcy9lc29sdmUtbWVkaWEtbGF5b3V0LXNlY3Rpb24tdHlwZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFc29sdmVNZWRpYUxheW91dFNlY3Rpb25UeXBlID1cbiAgICB8ICdtZWRpYSdcbiAgICB8ICdiYW5uZXInXG4gICAgfCAnbGlua2VkX3N0b2NrJ1xuICAgIHwgJ3N0b2NrJ1xuICAgIHwgJ2N1c3RvbSc7XG4iXX0=
@@ -233,6 +233,8 @@ const ESOLVE_CONNECT_MEDIA_CONFIG = new InjectionToken('esolve.connect.media.con
233
233
  class EsolveMediaLayoutService {
234
234
  constructor() {
235
235
  this.section_key_delimiter = '>>>';
236
+ this.default_section_group_key = '__default';
237
+ this.default_layout_key = '__default__';
236
238
  this.layout_map = new Map();
237
239
  this.section_map = new Map();
238
240
  const config = inject(ESOLVE_CONNECT_MEDIA_CONFIG);
@@ -244,13 +246,16 @@ class EsolveMediaLayoutService {
244
246
  if (layout.sections) {
245
247
  for (const section_group_key in layout.sections) {
246
248
  const sections = layout.sections[section_group_key];
249
+ if (!sections || sections.length === 0) {
250
+ continue;
251
+ }
247
252
  for (const section of sections) {
248
253
  const key_options = {
249
254
  type: section.key,
250
255
  sub_type: section.sub_key,
251
256
  layout: layout.key,
252
257
  };
253
- if (section_group_key !== '__default') {
258
+ if (section_group_key !== this.default_section_group_key) {
254
259
  key_options.group = section_group_key;
255
260
  }
256
261
  this.setSection(section.component, key_options);
@@ -336,6 +341,9 @@ class EsolveMediaLayoutService {
336
341
  throw new Error('Section component not defined');
337
342
  }
338
343
  searchLayout(layout_key) {
344
+ if (layout_key === this.default_layout_key) {
345
+ layout_key = this.default_layout;
346
+ }
339
347
  const component = this.layout_map.get(layout_key);
340
348
  if (!component) {
341
349
  throw new Error('Layout not declared');
@@ -1 +1 @@
1
- {"version":3,"file":"esolve-ng-esolve-connect-media.mjs","sources":["../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-heading.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-group.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-layout-section.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-link.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-article.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/services/esolve-media.service.ts","../../../../libs/ng-esolve-connect/media/src/lib/esolve-connect-media-config.token.ts","../../../../libs/ng-esolve-connect/media/src/lib/services/esolve-media-layout.service.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-layout/esolve-media-layout.component.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-layout/esolve-media-layout.component.html","../../../../libs/ng-esolve-connect/media/src/lib/components/media-section/esolve-media-section.component.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-section/esolve-media-section.component.html","../../../../libs/ng-esolve-connect/media/src/lib/functions/provide-ng-esolve-connect-media.function.ts","../../../../libs/ng-esolve-connect/media/src/lib/ng-esolve-connect-media.module.ts","../../../../libs/ng-esolve-connect/media/src/esolve-ng-esolve-connect-media.ts"],"sourcesContent":["export class EsolveHeading {\n constructor(public identifier: string, public value: string) {}\n}\n","import { EsolveMediaGroupRecord } from '../interfaces';\n\nexport class EsolveMediaGroup {\n public id = 0;\n public name = '';\n public sef_name = '';\n public description = '';\n\n constructor(record?: EsolveMediaGroupRecord) {\n if (record) {\n this.id = +(record.id ?? 0);\n this.name = record.name ?? '';\n this.sef_name = record.sef_name ?? '';\n this.description = record.description ?? '';\n }\n }\n}\n","import { EsolveMediaLayoutSectionRecord } from '../interfaces';\nimport { EsolveMediaLayoutSectionType } from '../types';\n\nexport class EsolveMediaLayoutSection {\n public type: EsolveMediaLayoutSectionType;\n public sub_type = '';\n public identifier: string;\n\n private data?: any;\n\n constructor(record: EsolveMediaLayoutSectionRecord) {\n this.type = record.type;\n this.identifier = record.identifier;\n this.sub_type = record.sub_type ?? '';\n\n if (record.data) {\n this.data = record.data;\n }\n }\n\n public getData<T>(): T | null {\n if (typeof this.data === 'undefined') {\n return null;\n }\n\n return this.data as T;\n }\n}\n","import { EsolveUrlTarget } from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaLinkRecord } from '../interfaces';\n\nexport class EsolveMediaLink {\n public caption: string;\n public url: string;\n public target: EsolveUrlTarget;\n\n constructor(record: EsolveMediaLinkRecord) {\n this.url = record.url;\n this.caption = record.caption ?? 'Read more...';\n this.target = record.target ?? '_self';\n }\n}\n","import {\n EsolveSeoDetails,\n EsolveTag,\n EsolveTopic,\n EsolveSeoInfo,\n EsolveManufacturer,\n EsolveRange,\n EsolveCustomFields,\n} from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaRecord } from '../interfaces';\n\nimport { EsolveMediaGroup } from './esolve-media-group.model';\nimport { EsolveMediaLayoutSection } from './esolve-media-layout-section.model';\nimport { EsolveMediaLink } from './esolve-media-link.model';\n\nexport class EsolveMediaArticle implements EsolveSeoDetails {\n public identifier: string;\n public title: string;\n public sub_title: string;\n public article: string;\n public layout = '';\n public image_url = '';\n public tags: EsolveTag[] = [];\n public topics: EsolveTopic[] = [];\n public seo_details: EsolveSeoInfo;\n public group?: EsolveMediaGroup;\n public manufacturer?: EsolveManufacturer;\n public range?: EsolveRange;\n public sections?: Map<string, EsolveMediaLayoutSection[]>;\n public link?: EsolveMediaLink;\n public custom_fields?: EsolveCustomFields;\n\n constructor(record: EsolveMediaRecord) {\n this.identifier = record.identifier;\n this.title = record.title;\n this.sub_title = record.sub_title;\n this.article = record.article;\n\n let seo_title = record.seo_page_title ?? '';\n const seo_keywords = record.seo_keywords ?? '';\n const seo_description = record.seo_description ?? '';\n\n if (seo_title.trim() === '') {\n seo_title = this.title;\n }\n\n this.seo_details = new EsolveSeoInfo(\n seo_title,\n seo_description,\n seo_keywords,\n );\n\n this.image_url = record.image_url ?? '';\n\n if (record.tags && record.tags.length > 0) {\n for (const tag of record.tags) {\n this.tags.push(new EsolveTag(tag));\n }\n }\n\n if (record.topics && record.topics.length > 0) {\n for (const topic of record.topics) {\n this.topics.push(new EsolveTopic(topic));\n }\n }\n\n if (record.media_group) {\n this.group = new EsolveMediaGroup(record.media_group);\n }\n\n if (record.manufacturer) {\n this.manufacturer = new EsolveManufacturer(record.manufacturer);\n }\n\n if (record.range) {\n this.range = new EsolveRange(record.range);\n }\n\n if (\n record.is_both_master_and_minor_article ||\n !record.is_minor_article\n ) {\n this.layout = record.layout ?? '';\n\n if (record.sections) {\n this.sections = new Map<string, EsolveMediaLayoutSection[]>();\n\n for (const key in record.sections) {\n const section_list: EsolveMediaLayoutSection[] = [];\n const section_records = record.sections[key];\n\n for (const section_record of section_records) {\n section_list.push(\n new EsolveMediaLayoutSection(section_record),\n );\n }\n\n this.sections.set(key, section_list);\n }\n }\n }\n\n if (\n record.is_both_master_and_minor_article ||\n record.is_minor_article\n ) {\n if (record.sef_url) {\n this.link = new EsolveMediaLink({\n url: record.sef_url,\n caption: record.link_caption,\n target: record.target,\n });\n }\n }\n\n if (record.custom_fields) {\n this.custom_fields = record.custom_fields;\n }\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\n\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport {\n EsolveGetResponse,\n EsolveConfigService,\n} from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaArticle, EsolveHeading } from '../classes';\nimport { EsolveMediaRecord, EsolveHeadingRecord } from '../interfaces';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EsolveMediaService {\n private config = inject(EsolveConfigService);\n private http = inject(HttpClient);\n\n /**\n * Retrieves the media record from the eSolve instance using the identifier\n *\n * @param identifier String representing the eSolve media identifier\n */\n public getMediaArticle(identifier: string): Observable<EsolveMediaArticle> {\n const params = new HttpParams({ fromObject: { identifier } });\n\n // TODO: Error Handling\n return this.getMediaRecords(params).pipe(\n map((response) => {\n if (\n response.records === undefined ||\n response.records.length <= 0\n ) {\n throw response;\n }\n\n const mediaRecord = response.records[0];\n\n if (!mediaRecord.active) {\n throw response;\n }\n\n return this.processMediaRecord(mediaRecord);\n }),\n );\n }\n\n /**\n * Retrieves a group of media records from the eSolve instance linked to a group\n *\n * @param media_group String representing the eSolve media group\n */\n public getGroupedMediaArticles(\n media_group: string,\n ): Observable<EsolveMediaArticle[]> {\n const params = new HttpParams({\n fromObject: { media_group_sef: media_group },\n });\n\n return this.getMediaRecords(params).pipe(\n map((response) => {\n const mediaArticles: EsolveMediaArticle[] = [];\n\n if (\n response.records !== undefined &&\n response.records.length > 0\n ) {\n for (const mediaRecord of response.records) {\n if (mediaRecord.active) {\n mediaArticles.push(\n this.processMediaRecord(mediaRecord),\n );\n }\n }\n }\n\n return mediaArticles;\n }),\n );\n }\n\n /**\n * Retrieves the media heading records from the eSolve instance using the identifiers\n *\n * @param identifiers Array of strings representing the eSolve heading identifiers\n */\n public getHeadings(identifiers: string[]): Observable<EsolveHeading[]> {\n return this.http\n .get<EsolveGetResponse<EsolveHeadingRecord[]>>(\n `${this.config.api_url}/get-headings.php`,\n {\n params: {\n identifier: identifiers.join(','),\n },\n },\n )\n .pipe(\n map((response) => {\n const headings: EsolveHeading[] = [];\n\n if (\n response.records !== undefined &&\n response.records.length > 0\n ) {\n for (const heading_record of response.records) {\n headings.push(\n this.processHeadingRecord(heading_record),\n );\n }\n }\n\n return headings;\n }),\n );\n }\n\n /**\n * Processes media article record\n *\n * @param record Record from eSolve instance\n */\n private processMediaRecord(record: EsolveMediaRecord): EsolveMediaArticle {\n return new EsolveMediaArticle(record);\n }\n\n /**\n * Processes media heading record\n *\n * @param record Record from eSolve instance\n */\n private processHeadingRecord(record: EsolveHeadingRecord): EsolveHeading {\n return new EsolveHeading(record.identifier, record.value);\n }\n\n /**\n * Retrieves media records from eSolve instance.\n *\n * @param params HTTP params\n */\n private getMediaRecords(\n params: HttpParams,\n ): Observable<EsolveGetResponse<EsolveMediaRecord[]>> {\n return this.http.get<EsolveGetResponse<EsolveMediaRecord[]>>(\n `${this.config.api_url}/get-media.php`,\n { params },\n );\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { EsolveConnectMediaConfig } from './interfaces';\n\nexport const ESOLVE_CONNECT_MEDIA_CONFIG =\n new InjectionToken<EsolveConnectMediaConfig>('esolve.connect.media.config');\n","import { ComponentType } from '@angular/cdk/portal';\nimport { inject, Injectable } from '@angular/core';\n\nimport { EsolveMediaArticle, EsolveMediaLayoutSection } from '../classes';\nimport { EsolveMediaLayoutSectionType } from '../types';\n\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\n\ntype ComponentMap = Map<string, ComponentType<any>>;\n\ntype SectionKeyOptions = {\n type: EsolveMediaLayoutSectionType;\n sub_type?: string;\n layout?: string;\n group?: string;\n};\n\n@Injectable()\nexport class EsolveMediaLayoutService {\n private readonly section_key_delimiter = '>>>';\n\n private media?: EsolveMediaArticle;\n private layout_map: ComponentMap = new Map();\n private section_map: ComponentMap = new Map();\n private default_layout: string;\n\n constructor() {\n const config = inject(ESOLVE_CONNECT_MEDIA_CONFIG);\n\n if (config.layouts.length === 0) {\n throw new Error('No layouts have been defined');\n }\n\n for (const layout of config.layouts) {\n this.setLayout(layout.key, layout.component);\n\n if (layout.sections) {\n for (const section_group_key in layout.sections) {\n const sections = layout.sections[section_group_key];\n\n for (const section of sections) {\n const key_options: SectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n layout: layout.key,\n };\n\n if (section_group_key !== '__default') {\n key_options.group = section_group_key;\n }\n\n this.setSection(section.component, key_options);\n }\n }\n }\n }\n\n const default_layout = config.default_layout;\n\n if (default_layout) {\n this.default_layout = default_layout;\n } else {\n this.default_layout = config.layouts[0].key;\n }\n\n if (config.sections.length > 0) {\n for (const section of config.sections) {\n const key_options: SectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n };\n\n this.setSection(section.component, key_options);\n }\n }\n }\n\n public getMedia() {\n if (!this.media) {\n throw new Error('Media not declared');\n }\n\n return this.media;\n }\n\n public setMedia(media: EsolveMediaArticle) {\n this.media = media;\n }\n\n public getLayout() {\n const media = this.getMedia();\n\n let layout_key = media.layout;\n\n if (layout_key === '') {\n layout_key = this.default_layout;\n }\n\n return this.searchLayout(layout_key);\n }\n\n public getSectionContent(key: string) {\n const media = this.getMedia();\n\n if (media.sections) {\n const section = media.sections.get(key);\n\n if (section) {\n return section;\n }\n }\n\n return [];\n }\n\n public getSectionComponent(key: string, section: EsolveMediaLayoutSection) {\n const type = section.type;\n const sub_type = section.sub_type;\n const { layout } = this.getMedia();\n\n const section_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n group: key,\n });\n\n let component = this.section_map.get(section_key);\n\n if (component) {\n return component;\n }\n\n const layout_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n });\n\n component = this.section_map.get(layout_key);\n\n if (component) {\n return component;\n }\n\n const base_key = this.createSectionMapKey({\n type,\n sub_type,\n });\n\n component = this.section_map.get(base_key);\n\n if (component) {\n return component;\n }\n\n throw new Error('Section component not defined');\n }\n\n private searchLayout(layout_key: string) {\n const component = this.layout_map.get(layout_key);\n\n if (!component) {\n throw new Error('Layout not declared');\n }\n\n return component;\n }\n\n private setLayout(key: string, component: ComponentType<any>) {\n this.layout_map.set(key, component);\n }\n\n private setSection(\n component: ComponentType<any>,\n key_options: SectionKeyOptions,\n ) {\n const key = this.createSectionMapKey(key_options);\n\n this.section_map.set(key, component);\n }\n\n private createSectionMapKey(key_options: SectionKeyOptions) {\n const { type, sub_type, layout, group } = key_options;\n\n const key_array: string[] = [type];\n\n if (sub_type) {\n key_array.push(sub_type);\n }\n\n if (layout) {\n key_array.push(layout);\n\n if (group) {\n key_array.push(group);\n }\n }\n\n return key_array.join(this.section_key_delimiter);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, OnChanges, Input, Injector, inject } from '@angular/core';\nimport { ComponentPortal, PortalModule } from '@angular/cdk/portal';\n\nimport { EsolveMediaArticle } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n standalone: true,\n selector: 'eslv-media-layout',\n templateUrl: 'esolve-media-layout.component.html',\n imports: [CommonModule, PortalModule],\n providers: [EsolveMediaLayoutService],\n})\nexport class EsolveMediaLayoutComponent implements OnChanges {\n @Input({ required: true }) public media!: EsolveMediaArticle;\n\n public layoutService = inject(EsolveMediaLayoutService);\n public portal!: ComponentPortal<any>;\n\n public ngOnChanges(): void {\n this.layoutService.setMedia(this.media);\n const component = this.layoutService.getLayout();\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n this.portal = new ComponentPortal(component, null, injector);\n }\n}\n","<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n","import { CommonModule } from '@angular/common';\nimport { Component, Injector, Input, OnChanges, inject } from '@angular/core';\nimport { ComponentPortal, PortalModule } from '@angular/cdk/portal';\n\nimport { EsolveMediaLayoutSection } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n standalone: true,\n selector: 'eslv-media-section',\n templateUrl: './esolve-media-section.component.html',\n imports: [CommonModule, PortalModule],\n})\nexport class EsolveMediaSectionComponent implements OnChanges {\n @Input({ required: true }) public key!: string;\n\n public layoutService = inject(EsolveMediaLayoutService);\n public portals: ComponentPortal<any>[] = [];\n\n public ngOnChanges(): void {\n const sections = this.layoutService.getSectionContent(this.key);\n this.processPortals(sections);\n }\n\n private processPortals(sections: EsolveMediaLayoutSection[]) {\n for (const section of sections) {\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutSection,\n useValue: section,\n },\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n const component = this.layoutService.getSectionComponent(\n this.key,\n section,\n );\n\n const portal = new ComponentPortal(component, null, injector);\n this.portals.push(portal);\n }\n }\n}\n","<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n","import { Provider } from '@angular/core';\n\nimport { EsolveConnectMediaConfig } from '../interfaces';\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\n\nexport function provideNgEsolveConnectMedia(\n config: EsolveConnectMediaConfig,\n): Provider {\n return {\n provide: ESOLVE_CONNECT_MEDIA_CONFIG,\n useValue: config,\n };\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport {\n EsolveMediaLayoutComponent,\n EsolveMediaSectionComponent,\n} from './components';\nimport { EsolveConnectMediaConfig } from './interfaces';\nimport { provideNgEsolveConnectMedia } from './functions';\n\n@NgModule({\n imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],\n exports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],\n})\nexport class NgEsolveConnectMediaModule {\n public static withConfig(\n config: EsolveConnectMediaConfig,\n ): ModuleWithProviders<NgEsolveConnectMediaModule> {\n return {\n ngModule: NgEsolveConnectMediaModule,\n providers: [provideNgEsolveConnectMedia(config)],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
1
+ {"version":3,"file":"esolve-ng-esolve-connect-media.mjs","sources":["../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-heading.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-group.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-layout-section.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-link.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/classes/esolve-media-article.model.ts","../../../../libs/ng-esolve-connect/media/src/lib/services/esolve-media.service.ts","../../../../libs/ng-esolve-connect/media/src/lib/esolve-connect-media-config.token.ts","../../../../libs/ng-esolve-connect/media/src/lib/services/esolve-media-layout.service.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-layout/esolve-media-layout.component.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-layout/esolve-media-layout.component.html","../../../../libs/ng-esolve-connect/media/src/lib/components/media-section/esolve-media-section.component.ts","../../../../libs/ng-esolve-connect/media/src/lib/components/media-section/esolve-media-section.component.html","../../../../libs/ng-esolve-connect/media/src/lib/functions/provide-ng-esolve-connect-media.function.ts","../../../../libs/ng-esolve-connect/media/src/lib/ng-esolve-connect-media.module.ts","../../../../libs/ng-esolve-connect/media/src/esolve-ng-esolve-connect-media.ts"],"sourcesContent":["export class EsolveHeading {\n constructor(public identifier: string, public value: string) {}\n}\n","import { EsolveMediaGroupRecord } from '../interfaces';\n\nexport class EsolveMediaGroup {\n public id = 0;\n public name = '';\n public sef_name = '';\n public description = '';\n\n constructor(record?: EsolveMediaGroupRecord) {\n if (record) {\n this.id = +(record.id ?? 0);\n this.name = record.name ?? '';\n this.sef_name = record.sef_name ?? '';\n this.description = record.description ?? '';\n }\n }\n}\n","import {\n EsolveMediaLayoutSectionRecord,\n EsolveMediaSectionDataGeneric,\n} from '../interfaces';\nimport { EsolveMediaLayoutSectionType } from '../types';\n\nexport class EsolveMediaLayoutSection {\n public type: EsolveMediaLayoutSectionType;\n public sub_type = '';\n public identifier: string;\n\n private data?: EsolveMediaSectionDataGeneric;\n\n constructor(record: EsolveMediaLayoutSectionRecord) {\n this.type = record.type;\n this.identifier = record.identifier;\n this.sub_type = record.sub_type ?? '';\n\n if (record.data) {\n this.data = record.data;\n }\n }\n\n public getData<T = EsolveMediaSectionDataGeneric>(): T | null {\n if (typeof this.data === 'undefined') {\n return null;\n }\n\n return this.data as T;\n }\n}\n","import { EsolveUrlTarget } from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaLinkRecord } from '../interfaces';\n\nexport class EsolveMediaLink {\n public caption: string;\n public url: string;\n public target: EsolveUrlTarget;\n\n constructor(record: EsolveMediaLinkRecord) {\n this.url = record.url;\n this.caption = record.caption ?? 'Read more...';\n this.target = record.target ?? '_self';\n }\n}\n","import {\n EsolveSeoDetails,\n EsolveTag,\n EsolveTopic,\n EsolveSeoInfo,\n EsolveManufacturer,\n EsolveRange,\n EsolveCustomFields,\n} from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaRecord } from '../interfaces';\n\nimport { EsolveMediaGroup } from './esolve-media-group.model';\nimport { EsolveMediaLayoutSection } from './esolve-media-layout-section.model';\nimport { EsolveMediaLink } from './esolve-media-link.model';\n\nexport class EsolveMediaArticle implements EsolveSeoDetails {\n public identifier: string;\n public title: string;\n public sub_title: string;\n public article: string;\n public layout = '';\n public image_url = '';\n public tags: EsolveTag[] = [];\n public topics: EsolveTopic[] = [];\n public seo_details: EsolveSeoInfo;\n public group?: EsolveMediaGroup;\n public manufacturer?: EsolveManufacturer;\n public range?: EsolveRange;\n public sections?: Map<string, EsolveMediaLayoutSection[]>;\n public link?: EsolveMediaLink;\n public custom_fields?: EsolveCustomFields;\n\n constructor(record: EsolveMediaRecord) {\n this.identifier = record.identifier;\n this.title = record.title;\n this.sub_title = record.sub_title;\n this.article = record.article;\n\n let seo_title = record.seo_page_title ?? '';\n const seo_keywords = record.seo_keywords ?? '';\n const seo_description = record.seo_description ?? '';\n\n if (seo_title.trim() === '') {\n seo_title = this.title;\n }\n\n this.seo_details = new EsolveSeoInfo(\n seo_title,\n seo_description,\n seo_keywords,\n );\n\n this.image_url = record.image_url ?? '';\n\n if (record.tags && record.tags.length > 0) {\n for (const tag of record.tags) {\n this.tags.push(new EsolveTag(tag));\n }\n }\n\n if (record.topics && record.topics.length > 0) {\n for (const topic of record.topics) {\n this.topics.push(new EsolveTopic(topic));\n }\n }\n\n if (record.media_group) {\n this.group = new EsolveMediaGroup(record.media_group);\n }\n\n if (record.manufacturer) {\n this.manufacturer = new EsolveManufacturer(record.manufacturer);\n }\n\n if (record.range) {\n this.range = new EsolveRange(record.range);\n }\n\n if (\n record.is_both_master_and_minor_article ||\n !record.is_minor_article\n ) {\n this.layout = record.layout ?? '';\n\n if (record.sections) {\n this.sections = new Map<string, EsolveMediaLayoutSection[]>();\n\n for (const key in record.sections) {\n const section_list: EsolveMediaLayoutSection[] = [];\n const section_records = record.sections[key];\n\n for (const section_record of section_records) {\n section_list.push(\n new EsolveMediaLayoutSection(section_record),\n );\n }\n\n this.sections.set(key, section_list);\n }\n }\n }\n\n if (\n record.is_both_master_and_minor_article ||\n record.is_minor_article\n ) {\n if (record.sef_url) {\n this.link = new EsolveMediaLink({\n url: record.sef_url,\n caption: record.link_caption,\n target: record.target,\n });\n }\n }\n\n if (record.custom_fields) {\n this.custom_fields = record.custom_fields;\n }\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\n\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport {\n EsolveGetResponse,\n EsolveConfigService,\n} from '@esolve/ng-esolve-connect';\n\nimport { EsolveMediaArticle, EsolveHeading } from '../classes';\nimport { EsolveMediaRecord, EsolveHeadingRecord } from '../interfaces';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EsolveMediaService {\n private config = inject(EsolveConfigService);\n private http = inject(HttpClient);\n\n /**\n * Retrieves the media record from the eSolve instance using the identifier\n *\n * @param identifier String representing the eSolve media identifier\n */\n public getMediaArticle(identifier: string): Observable<EsolveMediaArticle> {\n const params = new HttpParams({ fromObject: { identifier } });\n\n // TODO: Error Handling\n return this.getMediaRecords(params).pipe(\n map((response) => {\n if (\n response.records === undefined ||\n response.records.length <= 0\n ) {\n throw response;\n }\n\n const mediaRecord = response.records[0];\n\n if (!mediaRecord.active) {\n throw response;\n }\n\n return this.processMediaRecord(mediaRecord);\n }),\n );\n }\n\n /**\n * Retrieves a group of media records from the eSolve instance linked to a group\n *\n * @param media_group String representing the eSolve media group\n */\n public getGroupedMediaArticles(\n media_group: string,\n ): Observable<EsolveMediaArticle[]> {\n const params = new HttpParams({\n fromObject: { media_group_sef: media_group },\n });\n\n return this.getMediaRecords(params).pipe(\n map((response) => {\n const mediaArticles: EsolveMediaArticle[] = [];\n\n if (\n response.records !== undefined &&\n response.records.length > 0\n ) {\n for (const mediaRecord of response.records) {\n if (mediaRecord.active) {\n mediaArticles.push(\n this.processMediaRecord(mediaRecord),\n );\n }\n }\n }\n\n return mediaArticles;\n }),\n );\n }\n\n /**\n * Retrieves the media heading records from the eSolve instance using the identifiers\n *\n * @param identifiers Array of strings representing the eSolve heading identifiers\n */\n public getHeadings(identifiers: string[]): Observable<EsolveHeading[]> {\n return this.http\n .get<EsolveGetResponse<EsolveHeadingRecord[]>>(\n `${this.config.api_url}/get-headings.php`,\n {\n params: {\n identifier: identifiers.join(','),\n },\n },\n )\n .pipe(\n map((response) => {\n const headings: EsolveHeading[] = [];\n\n if (\n response.records !== undefined &&\n response.records.length > 0\n ) {\n for (const heading_record of response.records) {\n headings.push(\n this.processHeadingRecord(heading_record),\n );\n }\n }\n\n return headings;\n }),\n );\n }\n\n /**\n * Processes media article record\n *\n * @param record Record from eSolve instance\n */\n private processMediaRecord(record: EsolveMediaRecord): EsolveMediaArticle {\n return new EsolveMediaArticle(record);\n }\n\n /**\n * Processes media heading record\n *\n * @param record Record from eSolve instance\n */\n private processHeadingRecord(record: EsolveHeadingRecord): EsolveHeading {\n return new EsolveHeading(record.identifier, record.value);\n }\n\n /**\n * Retrieves media records from eSolve instance.\n *\n * @param params HTTP params\n */\n private getMediaRecords(\n params: HttpParams,\n ): Observable<EsolveGetResponse<EsolveMediaRecord[]>> {\n return this.http.get<EsolveGetResponse<EsolveMediaRecord[]>>(\n `${this.config.api_url}/get-media.php`,\n { params },\n );\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { EsolveConnectMediaConfig } from './interfaces';\n\nexport const ESOLVE_CONNECT_MEDIA_CONFIG =\n new InjectionToken<EsolveConnectMediaConfig>('esolve.connect.media.config');\n","import { ComponentType } from '@angular/cdk/portal';\nimport { inject, Injectable } from '@angular/core';\n\nimport { EsolveMediaArticle, EsolveMediaLayoutSection } from '../classes';\nimport { EsolveMediaLayoutSectionType } from '../types';\n\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\n\ntype ComponentMap = Map<string, ComponentType<any>>;\n\ntype SectionKeyOptions = {\n type: EsolveMediaLayoutSectionType;\n sub_type?: string;\n layout?: string;\n group?: string;\n};\n\n@Injectable()\nexport class EsolveMediaLayoutService {\n private readonly section_key_delimiter = '>>>';\n private readonly default_section_group_key = '__default';\n private readonly default_layout_key = '__default__';\n\n private media?: EsolveMediaArticle;\n private layout_map: ComponentMap = new Map();\n private section_map: ComponentMap = new Map();\n private default_layout: string;\n\n constructor() {\n const config = inject(ESOLVE_CONNECT_MEDIA_CONFIG);\n\n if (config.layouts.length === 0) {\n throw new Error('No layouts have been defined');\n }\n\n for (const layout of config.layouts) {\n this.setLayout(layout.key, layout.component);\n\n if (layout.sections) {\n for (const section_group_key in layout.sections) {\n const sections = layout.sections[section_group_key];\n\n if (!sections || sections.length === 0) {\n continue;\n }\n\n for (const section of sections) {\n const key_options: SectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n layout: layout.key,\n };\n\n if (\n section_group_key !== this.default_section_group_key\n ) {\n key_options.group = section_group_key;\n }\n\n this.setSection(section.component, key_options);\n }\n }\n }\n }\n\n const default_layout = config.default_layout;\n\n if (default_layout) {\n this.default_layout = default_layout;\n } else {\n this.default_layout = config.layouts[0].key;\n }\n\n if (config.sections.length > 0) {\n for (const section of config.sections) {\n const key_options: SectionKeyOptions = {\n type: section.key,\n sub_type: section.sub_key,\n };\n\n this.setSection(section.component, key_options);\n }\n }\n }\n\n public getMedia() {\n if (!this.media) {\n throw new Error('Media not declared');\n }\n\n return this.media;\n }\n\n public setMedia(media: EsolveMediaArticle) {\n this.media = media;\n }\n\n public getLayout() {\n const media = this.getMedia();\n\n let layout_key = media.layout;\n\n if (layout_key === '') {\n layout_key = this.default_layout;\n }\n\n return this.searchLayout(layout_key);\n }\n\n public getSectionContent(key: string) {\n const media = this.getMedia();\n\n if (media.sections) {\n const section = media.sections.get(key);\n\n if (section) {\n return section;\n }\n }\n\n return [];\n }\n\n public getSectionComponent(key: string, section: EsolveMediaLayoutSection) {\n const type = section.type;\n const sub_type = section.sub_type;\n const { layout } = this.getMedia();\n\n const section_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n group: key,\n });\n\n let component = this.section_map.get(section_key);\n\n if (component) {\n return component;\n }\n\n const layout_key = this.createSectionMapKey({\n type,\n sub_type,\n layout,\n });\n\n component = this.section_map.get(layout_key);\n\n if (component) {\n return component;\n }\n\n const base_key = this.createSectionMapKey({\n type,\n sub_type,\n });\n\n component = this.section_map.get(base_key);\n\n if (component) {\n return component;\n }\n\n throw new Error('Section component not defined');\n }\n\n private searchLayout(layout_key: string) {\n if (layout_key === this.default_layout_key) {\n layout_key = this.default_layout;\n }\n\n const component = this.layout_map.get(layout_key);\n\n if (!component) {\n throw new Error('Layout not declared');\n }\n\n return component;\n }\n\n private setLayout(key: string, component: ComponentType<any>) {\n this.layout_map.set(key, component);\n }\n\n private setSection(\n component: ComponentType<any>,\n key_options: SectionKeyOptions,\n ) {\n const key = this.createSectionMapKey(key_options);\n\n this.section_map.set(key, component);\n }\n\n private createSectionMapKey(key_options: SectionKeyOptions) {\n const { type, sub_type, layout, group } = key_options;\n\n const key_array: string[] = [type];\n\n if (sub_type) {\n key_array.push(sub_type);\n }\n\n if (layout) {\n key_array.push(layout);\n\n if (group) {\n key_array.push(group);\n }\n }\n\n return key_array.join(this.section_key_delimiter);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, OnChanges, Input, Injector, inject } from '@angular/core';\nimport { ComponentPortal, PortalModule } from '@angular/cdk/portal';\n\nimport { EsolveMediaArticle } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n standalone: true,\n selector: 'eslv-media-layout',\n templateUrl: 'esolve-media-layout.component.html',\n imports: [CommonModule, PortalModule],\n providers: [EsolveMediaLayoutService],\n})\nexport class EsolveMediaLayoutComponent implements OnChanges {\n @Input({ required: true }) public media!: EsolveMediaArticle;\n\n public layoutService = inject(EsolveMediaLayoutService);\n public portal!: ComponentPortal<any>;\n\n public ngOnChanges(): void {\n this.layoutService.setMedia(this.media);\n const component = this.layoutService.getLayout();\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n this.portal = new ComponentPortal(component, null, injector);\n }\n}\n","<ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n","import { CommonModule } from '@angular/common';\nimport { Component, Injector, Input, OnChanges, inject } from '@angular/core';\nimport { ComponentPortal, PortalModule } from '@angular/cdk/portal';\n\nimport { EsolveMediaLayoutSection } from '../../classes';\nimport { EsolveMediaLayoutService } from '../../services';\n\n@Component({\n standalone: true,\n selector: 'eslv-media-section',\n templateUrl: './esolve-media-section.component.html',\n imports: [CommonModule, PortalModule],\n})\nexport class EsolveMediaSectionComponent implements OnChanges {\n @Input({ required: true }) public key!: string;\n\n public layoutService = inject(EsolveMediaLayoutService);\n public portals: ComponentPortal<any>[] = [];\n\n public ngOnChanges(): void {\n const sections = this.layoutService.getSectionContent(this.key);\n this.processPortals(sections);\n }\n\n private processPortals(sections: EsolveMediaLayoutSection[]) {\n for (const section of sections) {\n const injector = Injector.create({\n providers: [\n {\n provide: EsolveMediaLayoutSection,\n useValue: section,\n },\n {\n provide: EsolveMediaLayoutService,\n useValue: this.layoutService,\n },\n ],\n });\n\n const component = this.layoutService.getSectionComponent(\n this.key,\n section,\n );\n\n const portal = new ComponentPortal(component, null, injector);\n this.portals.push(portal);\n }\n }\n}\n","<ng-container *ngIf=\"portals.length > 0\">\n <ng-container *ngFor=\"let portal of portals\">\n <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\n </ng-container>\n</ng-container>\n","import { Provider } from '@angular/core';\n\nimport { EsolveConnectMediaConfig } from '../interfaces';\nimport { ESOLVE_CONNECT_MEDIA_CONFIG } from '../esolve-connect-media-config.token';\n\nexport function provideNgEsolveConnectMedia(\n config: EsolveConnectMediaConfig,\n): Provider {\n return {\n provide: ESOLVE_CONNECT_MEDIA_CONFIG,\n useValue: config,\n };\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport {\n EsolveMediaLayoutComponent,\n EsolveMediaSectionComponent,\n} from './components';\nimport { EsolveConnectMediaConfig } from './interfaces';\nimport { provideNgEsolveConnectMedia } from './functions';\n\n@NgModule({\n imports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],\n exports: [EsolveMediaLayoutComponent, EsolveMediaSectionComponent],\n})\nexport class NgEsolveConnectMediaModule {\n public static withConfig(\n config: EsolveConnectMediaConfig,\n ): ModuleWithProviders<NgEsolveConnectMediaModule> {\n return {\n ngModule: NgEsolveConnectMediaModule,\n providers: [provideNgEsolveConnectMedia(config)],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
@@ -2643,6 +2643,9 @@ class EsolveLocation {
2643
2643
  const public_holiday = new EsolveLocationTradingDay(record.public_holiday_open_time, record.public_holiday_close_time);
2644
2644
  this.trading_times = new EsolveLocationTradingTimes(monday, tuesday, wednesday, thursday, friday, saturday, sunday, public_holiday, record.trading_hours_additional_info);
2645
2645
  this.geo = new EsolveLocationGEO(record.distance, record.range, record.target_description);
2646
+ if (record.custom_fields) {
2647
+ this.custom_fields = record.custom_fields;
2648
+ }
2646
2649
  }
2647
2650
  }
2648
2651