@experteam-mx/ngx-services 15.1.2 → 15.2.0

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.
@@ -145,7 +145,7 @@ export class ApiCompaniesService {
145
145
  currency_id: country_reference_currency.currency.id,
146
146
  }).pipe(map((exchangesData) => ({
147
147
  ...country_reference_currency,
148
- rate: exchangesData.exchanges[0]?.value ?? 1.00,
148
+ rate: exchangesData.exchanges[0]?.value,
149
149
  }))));
150
150
  return forkJoin($observables);
151
151
  }));
@@ -263,4 +263,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
263
263
  type: Inject,
264
264
  args: ['env']
265
265
  }] }, { type: i1.HttpClient }]; } });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbXBhbmllcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvYXBpLWNvbXBhbmllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBMkJsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7QUFNNUMsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFBO0lBQzFDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFFLE1BQW1CO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdDLEdBQUcsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUU7WUFDL0UsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUM7U0FDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBRSxFQUFVO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQStCLEdBQUcsSUFBSSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUs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LENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFFLEVBQVU7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBbUMsR0FBRyxJQUFJLENBQUMsR0FBRyx1QkFBdUIsRUFBRSxFQUFFLENBQUM7YUFDM0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWSxDQUFFLE1BQW1CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTRCLEdBQUcsSUFBSSxDQUFDLEdBQUcsWUFBWSxFQUFFO1lBQ3ZFLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDO1NBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDOztpSEEzUlUsbUJBQW1CLGtCQUVwQixLQUFLO3FIQUZKLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEVudmlyb25tZW50IH0gZnJvbSAnLi4vbmd4LXNlcnZpY2VzLm1vZGVscydcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQge1xyXG4gIEFjY291bnRFbnRpdGllc0RhdGEsXHJcbiAgQ29tcGFueUNvdW50cmllc0RhdGEsXHJcbiAgQ29tcGFueUNvdW50cnlEYXRhLFxyXG4gIENvbXBhbnlDb3VudHJ5VGF4ZXNEYXRhLCBDb3VudHJ5RXhjaGFuZ2VzRGF0YSxcclxuICBDb3VudHJ5UmVmZXJlbmNlQ3VycmVuY2llc0RhdGEsXHJcbiAgQ291bnRyeVJlZmVyZW5jZURhdGEsXHJcbiAgQ291bnRyeVJlZmVyZW5jZXNEYXRhLFxyXG4gIEVtcGxveWVlRGF0YSxcclxuICBFbXBsb3llZXNEYXRhLFxyXG4gIEV4Y2hhbmdlc0RhdGEsXHJcbiAgSW5zdGFsbGF0aW9uRGF0YSxcclxuICBJbnN0YWxsYXRpb25zRGF0YSxcclxuICBMb2NhdGlvbkRhdGEsXHJcbiAgTG9jYXRpb25FbXBsb3llZXNEYXRhLFxyXG4gIExvY2F0aW9uc0RhdGEsXHJcbiAgUGFyYW1ldGVyc0RhdGEsXHJcbiAgUGFyYW1ldGVyc1Byb3BzLFxyXG4gIFBhcmFtZXRlclZhbHVlRGF0YSxcclxuICBQYXJhbWV0ZXJWYWx1ZVByb3BzLFxyXG4gIFN1cHBseUVudGl0aWVzRGF0YSxcclxuICBXb3JrZmxvd3NEYXRhXHJcbn0gZnJvbSAnLi9tb2RlbHMvYXBpLWNvbXBhbmllcy50eXBlcydcclxuaW1wb3J0IHsgQXBpU3VjY2VzcywgUXVlcnlQYXJhbXMgfSBmcm9tICcuL21vZGVscy9hcGkubW9kZWxzJ1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGh0dHBQYXJhbXMgfSBmcm9tICcuLi9oZWxwZXJzL2h0dHAnXHJcbmltcG9ydCB7IENvdW50cnlDdXJyZW5jeVJhdGUgfSBmcm9tICcuL21vZGVscy9hcGktY29tcGFuaWVzLmludGVyZmFjZXMnXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlDb21wYW5pZXNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvciAoXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudmlyb25tZW50czogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBVUkwgZm9yIHRoZSBjb21wYW5pZXMgQVBJIGZyb20gdGhlIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25zLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgVVJMIG9mIHRoZSBjb21wYW5pZXMgQVBJLlxyXG4gICAqL1xyXG4gIGdldCB1cmwgKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudHMuYXBpQ29tcGFuaWVzVXJsXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBpbnN0YWxsYXRpb25zIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdXNlZCB0byBmaWx0ZXIgdGhlIGluc3RhbGxhdGlvbnMgcXVlcnkuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxJbnN0YWxsYXRpb25zRGF0YT59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgaW5zdGFsbGF0aW9ucyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldEluc3RhbGxhdGlvbnMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEluc3RhbGxhdGlvbnNEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEluc3RhbGxhdGlvbnNEYXRhPj4oYCR7dGhpcy51cmx9L2luc3RhbGxhdGlvbnNgLCB7XHJcbiAgICAgIHBhcmFtczogaHR0cFBhcmFtcyhwYXJhbXMpLFxyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgaW5zdGFsbGF0aW9uIGRldGFpbHMgYmFzZWQgb24gdGhlIGdpdmVuIGluc3RhbGxhdGlvbiBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaW5zdGFsbGF0aW9uIHRvIHJldHJpZXZlLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEluc3RhbGxhdGlvbkRhdGE+fSBBbiBvYnNlcnZhYmxlIG9mIHRoZSBpbnN0YWxsYXRpb24gZGV0YWlscy5cclxuICAgKi9cclxuICBnZXRJbnN0YWxsYXRpb24gKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEluc3RhbGxhdGlvbkRhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8SW5zdGFsbGF0aW9uRGF0YT4+KGAke3RoaXMudXJsfS9pbnN0YWxsYXRpb25zLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIGxvY2F0aW9ucyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHRvIHVzZSBmb3IgcXVlcnlpbmcgbG9jYXRpb25zLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TG9jYXRpb25zRGF0YT59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgbG9jYXRpb25zIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0TG9jYXRpb25zIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxMb2NhdGlvbnNEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPExvY2F0aW9uc0RhdGE+PihgJHt0aGlzLnVybH0vbG9jYXRpb25zYCwge1xyXG4gICAgICBwYXJhbXM6IGh0dHBQYXJhbXMocGFyYW1zKSxcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBsb2NhdGlvbiBkZXRhaWxzIGZvciBhIGdpdmVuIGxvY2F0aW9uIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBsb2NhdGlvbi5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPExvY2F0aW9uRGF0YT59IEFuIE9ic2VydmFibGUgY29udGFpbmluZyB0aGUgbG9jYXRpb24gZGV0YWlscy5cclxuICAgKi9cclxuICBnZXRMb2NhdGlvbiAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8TG9jYXRpb25EYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPExvY2F0aW9uRGF0YT4+KGAke3RoaXMudXJsfS9sb2NhdGlvbnMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgYWN0aXZlIHN1cHBseSBlbnRpdGllcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHRvIGZpbHRlciBzdXBwbHkgZW50aXRpZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxTdXBwbHlFbnRpdGllc0RhdGE+fSBPYnNlcnZhYmxlIGVtaXR0aW5nIHN1cHBseSBlbnRpdGllcyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldFN1cHBseUVudGl0aWVzQWN0aXZlIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxTdXBwbHlFbnRpdGllc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8U3VwcGx5RW50aXRpZXNEYXRhPj4oYCR7dGhpcy51cmx9L3N1cHBseS1lbnRpdGllcy9hY3RpdmVzYCwge1xyXG4gICAgICBwYXJhbXM6IGh0dHBQYXJhbXMocGFyYW1zKSxcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBlbXBsb3llZXMgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdG8gZmlsdGVyIGFuZCBzb3J0IHRoZSBlbXBsb3llZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxFbXBsb3llZXNEYXRhPn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBsaXN0IG9mIGVtcGxveWVlcy5cclxuICAgKi9cclxuICBnZXRFbXBsb3llZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEVtcGxveWVlc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8RW1wbG95ZWVzRGF0YT4+KGAke3RoaXMudXJsfS9lbXBsb3llZXNgLCB7XHJcbiAgICAgIHBhcmFtczogaHR0cFBhcmFtcyhwYXJhbXMpLFxyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgYW4gZW1wbG95ZWUncyBkZXRhaWxzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBlbXBsb3llZSBJRC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZW1wbG95ZWUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxFbXBsb3llZURhdGE+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGVtcGxveWVlJ3MgZGV0YWlscy5cclxuICAgKi9cclxuICBnZXRFbXBsb3llZSAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8RW1wbG95ZWVEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEVtcGxveWVlRGF0YT4+KGAke3RoaXMudXJsfS9lbXBsb3llZXMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgbGlzdCBvZiBlbXBsb3llZXMgZm9yIGEgc3BlY2lmaWVkIGxvY2F0aW9uIGJhc2VkIG9uIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB1c2VkIHRvIGZpbHRlciBhbmQgcmV0cmlldmUgdGhlIGxvY2F0aW9uIGVtcGxveWVlcy5cclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxMb2NhdGlvbkVtcGxveWVlc0RhdGE+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGxpc3Qgb2YgZW1wbG95ZWVzIGZvciB0aGUgc3BlY2lmaWVkIGxvY2F0aW9uLlxyXG4gICAqL1xyXG4gIGdldExvY2F0aW9uRW1wbG95ZWVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxMb2NhdGlvbkVtcGxveWVlc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8TG9jYXRpb25FbXBsb3llZXNEYXRhPj4oYCR7dGhpcy51cmx9L2xvY2F0aW9uLWVtcGxveWVlc2AsIHtcclxuICAgICAgcGFyYW1zOiBodHRwUGFyYW1zKHBhcmFtcyksXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBjb3VudHJpZXMgd2hlcmUgdGhlIGNvbXBhbnkgb3BlcmF0ZXMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyBmb3IgdGhlIEFQSSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q29tcGFueUNvdW50cmllc0RhdGE+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2YgY29tcGFueSBjb3VudHJpZXMuXHJcbiAgICovXHJcbiAgZ2V0Q29tcGFueUNvdW50cmllcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q29tcGFueUNvdW50cmllc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q29tcGFueUNvdW50cmllc0RhdGE+PihgJHt0aGlzLnVybH0vY29tcGFueS1jb3VudHJpZXNgLCB7XHJcbiAgICAgIHBhcmFtczogaHR0cFBhcmFtcyhwYXJhbXMpLFxyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGNvdW50cnkgaW5mb3JtYXRpb24gZm9yIGEgc3BlY2lmaWVkIGNvbXBhbnkgYnkgaXRzIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjb21wYW55LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q29tcGFueUNvdW50cnlEYXRhPn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBjb3VudHJ5IGluZm9ybWF0aW9uIG9mIHRoZSBjb21wYW55LlxyXG4gICAqL1xyXG4gIGdldENvbXBhbnlDb3VudHJ5IChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxDb21wYW55Q291bnRyeURhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q29tcGFueUNvdW50cnlEYXRhPj4oYCR7dGhpcy51cmx9L2NvbXBhbnktY291bnRyaWVzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSByZWZlcmVuY2UgY3VycmVuY2llcyBmb3IgYSBnaXZlbiBjb3VudHJ5LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gaW5jbHVkZSBpbiB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENvdW50cnlSZWZlcmVuY2VDdXJyZW5jaWVzRGF0YT59IFRoZSBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGNvdW50cnkgcmVmZXJlbmNlIGN1cnJlbmNpZXMgZGF0YS5cclxuICAgKi9cclxuICBnZXRDb3VudHJ5UmVmZXJlbmNlQ3VycmVuY2llcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q291bnRyeVJlZmVyZW5jZUN1cnJlbmNpZXNEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPENvdW50cnlSZWZlcmVuY2VDdXJyZW5jaWVzRGF0YT4+KFxyXG4gICAgICBgJHt0aGlzLnVybH0vY291bnRyeS1yZWZlcmVuY2UtY3VycmVuY2llc2AsXHJcbiAgICAgIHsgcGFyYW1zIH1cclxuICAgICkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgY3VycmVuY2llcyBmb3IgZGlmZmVyZW50IGNvdW50cmllcyBhbG9uZyB3aXRoIHRoZWlyIGN1cnJlbnQgZXhjaGFuZ2UgcmF0ZXMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB1c2VkIHRvIGZldGNoIHRoZSBjb3VudHJ5IHJlZmVyZW5jZSBjdXJyZW5jaWVzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeUN1cnJlbmN5UmF0ZVtdPn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGFycmF5IG9mIGNvdW50cnkgY3VycmVuY3kgcmF0ZXMuXHJcbiAgICovXHJcbiAgZ2V0Q291bnRyeUN1cnJlbmNpZXNXaXRoUmF0ZSAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q291bnRyeUN1cnJlbmN5UmF0ZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDb3VudHJ5UmVmZXJlbmNlQ3VycmVuY2llcyhwYXJhbXMpXHJcbiAgICAgIC5waXBlKG1lcmdlTWFwKChjdXJyZW5jaWVzRGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0ICRvYnNlcnZhYmxlcyA9IGN1cnJlbmNpZXNEYXRhLmNvdW50cnlfcmVmZXJlbmNlX2N1cnJlbmNpZXNcclxuICAgICAgICAgIC5tYXAoKGNvdW50cnlfcmVmZXJlbmNlX2N1cnJlbmN5KSA9PlxyXG4gICAgICAgICAgICB0aGlzLmdldEN1cnJlbnRFeGNoYW5nZXMoe1xyXG4gICAgICAgICAgICAgIGN1cnJlbmN5X2lkOiBjb3VudHJ5X3JlZmVyZW5jZV9jdXJyZW5jeS5jdXJyZW5jeS5pZCxcclxuICAgICAgICAgICAgfSkucGlwZShcclxuICAgICAgICAgICAgICBtYXAoKGV4Y2hhbmdlc0RhdGEpID0+ICh7XHJcbiAgICAgICAgICAgICAgICAuLi5jb3VudHJ5X3JlZmVyZW5jZV9jdXJyZW5jeSxcclxuICAgICAgICAgICAgICAgIHJhdGU6IGV4Y2hhbmdlc0RhdGEuZXhjaGFuZ2VzWzBdPy52YWx1ZSA/PyAxLjAwLFxyXG4gICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApXHJcblxyXG4gICAgICAgIHJldHVybiBmb3JrSm9pbigkb2JzZXJ2YWJsZXMpXHJcbiAgICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBleGNoYW5nZSBkYXRhIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJldHJpZXZpbmcgZXhjaGFuZ2UgZGF0YS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENvdW50cnlFeGNoYW5nZXNEYXRhPn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBleGNoYW5nZSBkYXRhLlxyXG4gICAqL1xyXG4gIGdldEV4Y2hhbmdlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q291bnRyeUV4Y2hhbmdlc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q291bnRyeUV4Y2hhbmdlc0RhdGE+PihgJHt0aGlzLnVybH0vZXhjaGFuZ2VzYCwge1xyXG4gICAgICBwYXJhbXM6IGh0dHBQYXJhbXMocGFyYW1zKSxcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgZXhjaGFuZ2VzIGJhc2VkIG9uIHRoZSBnaXZlbiBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSBleGNoYW5nZXMuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxFeGNoYW5nZXNEYXRhPn0gLSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIEFQSSByZXNwb25zZSBkYXRhIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgZXhjaGFuZ2VzLlxyXG4gICAqL1xyXG4gIGdldEN1cnJlbnRFeGNoYW5nZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEV4Y2hhbmdlc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8RXhjaGFuZ2VzRGF0YT4+KGAke3RoaXMudXJsfS9leGNoYW5nZXMvY3VycmVudGAsIHtcclxuICAgICAgcGFyYW1zOiBodHRwUGFyYW1zKHBhcmFtcyksXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgY291bnRyeS1zcGVjaWZpYyB0YXggaW5mb3JtYXRpb24gZm9yIGEgY29tcGFueS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmlsdGVyIGFuZCBxdWVyeSB0aGUgdGF4ZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb21wYW55Q291bnRyeVRheGVzRGF0YT59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdGF4IGluZm9ybWF0aW9uLlxyXG4gICAqL1xyXG4gIGdldENvbXBhbnlDb3VudHJ5VGF4ZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPENvbXBhbnlDb3VudHJ5VGF4ZXNEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPENvbXBhbnlDb3VudHJ5VGF4ZXNEYXRhPj4oYCR7dGhpcy51cmx9L2NvbXBhbnktY291bnRyeS10YXhlc2AsIHtcclxuICAgICAgcGFyYW1zOiBodHRwUGFyYW1zKHBhcmFtcyksXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBsaXN0IG9mIGFjdGl2ZSBhY2NvdW50IGVudGl0aWVzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdG8gZmlsdGVyIGFuZCBxdWVyeSBhY3RpdmUgYWNjb3VudCBlbnRpdGllcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEFjY291bnRFbnRpdGllc0RhdGE+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGxpc3Qgb2YgYWN0aXZlIGFjY291bnQgZW50aXRpZXMuXHJcbiAgICovXHJcbiAgZ2V0QWN0aXZlQWNjb3VudEVudGl0aWVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxBY2NvdW50RW50aXRpZXNEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEFjY291bnRFbnRpdGllc0RhdGE+PihgJHt0aGlzLnVybH0vYWNjb3VudC1lbnRpdGllcy9hY3RpdmVzYCwge1xyXG4gICAgICBwYXJhbXM6IGh0dHBQYXJhbXMocGFyYW1zKSxcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIHBhcmFtZXRlciB2YWx1ZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlciBuYW1lcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwYXJhbXMucGFyYW1OYW1lcyAtIEFuIGFycmF5IG9mIHBhcmFtZXRlciBuYW1lcyBmb3Igd2hpY2ggdGhlIHZhbHVlcyBuZWVkIHRvIGJlIGZldGNoZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxQYXJhbWV0ZXJzRGF0YT59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZmV0Y2hlZCBwYXJhbWV0ZXIgdmFsdWVzLlxyXG4gICAqL1xyXG4gIGdldFBhcmFtZXRlcnMgKHtcclxuICAgIHBhcmFtTmFtZXMsXHJcbiAgfTogUGFyYW1ldGVyc1Byb3BzKTogT2JzZXJ2YWJsZTxQYXJhbWV0ZXJzRGF0YT4ge1xyXG4gICAgY29uc3QgcGFyYW1ldGVycyA9IHBhcmFtTmFtZXMubWFwKChwKSA9PiAoeyBuYW1lOiBwIH0pKVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFBhcmFtZXRlcnNEYXRhPj4oYCR7dGhpcy51cmx9L3BhcmFtZXRlcnMtdmFsdWVzYCwge1xyXG4gICAgICBwYXJhbWV0ZXJzXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSB2YWx1ZSBvZiBhIHNwZWNpZmllZCBwYXJhbWV0ZXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09iamVjdH0gaW5wdXQgLSBUaGUgaW5wdXQgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHBhcmFtZXRlciBkZXRhaWxzLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dC5wYXJhbU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyIHdob3NlIHZhbHVlIGlzIHRvIGJlIHJldHJpZXZlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFBhcmFtZXRlclZhbHVlRGF0YT59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcGFyYW1ldGVyLlxyXG4gICAqL1xyXG4gIGdldFBhcmFtZXRlclZhbHVlICh7XHJcbiAgICBwYXJhbU5hbWUsXHJcbiAgfTogUGFyYW1ldGVyVmFsdWVQcm9wcyk6IE9ic2VydmFibGU8UGFyYW1ldGVyVmFsdWVEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFBhcmFtZXRlclZhbHVlRGF0YT4+KGAke3RoaXMudXJsfS9wYXJhbWV0ZXJzLXZhbHVlcy8ke3BhcmFtTmFtZX1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgY291bnRyeSByZWZlcmVuY2VzIGJhc2VkIG9uIHRoZSBnaXZlbiBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJldHJpZXZpbmcgY291bnRyeSByZWZlcmVuY2VzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeVJlZmVyZW5jZXNEYXRhPn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBjb3VudHJ5IHJlZmVyZW5jZSBkYXRhLlxyXG4gICAqL1xyXG4gIGdldENvdW50cnlSZWZlcmVuY2VzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDb3VudHJ5UmVmZXJlbmNlc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q291bnRyeVJlZmVyZW5jZXNEYXRhPj4oYCR7dGhpcy51cmx9L2NvdW50cnktcmVmZXJlbmNlc2AsIHtcclxuICAgICAgcGFyYW1zOiBodHRwUGFyYW1zKHBhcmFtcyksXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgY291bnRyeSByZWZlcmVuY2UgZGF0YSBmb3IgYSBnaXZlbiBjb3VudHJ5IElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjb3VudHJ5IGZvciB3aGljaCB0aGUgcmVmZXJlbmNlIGRhdGEgaXMgdG8gYmUgcmV0cmlldmVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeVJlZmVyZW5jZURhdGE+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGNvdW50cnkgcmVmZXJlbmNlIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0Q291bnRyeVJlZmVyZW5jZSAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q291bnRyeVJlZmVyZW5jZURhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q291bnRyeVJlZmVyZW5jZURhdGE+PihgJHt0aGlzLnVybH0vY291bnRyeS1yZWZlcmVuY2VzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBsaXN0IG9mIHdvcmtmbG93cyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmlsdGVyIHdvcmtmbG93cy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFdvcmtmbG93c0RhdGE+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHdvcmtmbG93IGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0V29ya2Zsb3dzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxXb3JrZmxvd3NEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFdvcmtmbG93c0RhdGE+PihgJHt0aGlzLnVybH0vd29ya2Zsb3dzYCwge1xyXG4gICAgICBwYXJhbXM6IGh0dHBQYXJhbXMocGFyYW1zKSxcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbXBhbmllcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvYXBpLWNvbXBhbmllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBMkJsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7QUFNNUMsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUN5QixZQUF5QixFQUN4QyxJQUFnQjtRQURELGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEIsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFBO0lBQzFDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFFLE1BQW1CO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdDLEdBQUcsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUU7WUFDL0UsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUM7U0FDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBRSxFQUFVO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQStCLEdBQUcsSUFBSSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUs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LENBQUE7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsbUJBQW1CLENBQUUsRUFBVTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFtQyxHQUFHLElBQUksQ0FBQyxHQUFHLHVCQUF1QixFQUFFLEVBQUUsQ0FBQzthQUMzRixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZLENBQUUsTUFBbUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBNEIsR0FBRyxJQUFJLENBQUMsR0FBRyxZQUFZLEVBQUU7WUFDdkUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUM7U0FDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7O2lIQTNSVSxtQkFBbUIsa0JBRXBCLEtBQUs7cUhBRkosbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBR0ksTUFBTTsyQkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9uZ3gtc2VydmljZXMubW9kZWxzJ1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7XHJcbiAgQWNjb3VudEVudGl0aWVzRGF0YSxcclxuICBDb21wYW55Q291bnRyaWVzRGF0YSxcclxuICBDb21wYW55Q291bnRyeURhdGEsXHJcbiAgQ29tcGFueUNvdW50cnlUYXhlc0RhdGEsIENvdW50cnlFeGNoYW5nZXNEYXRhLFxyXG4gIENvdW50cnlSZWZlcmVuY2VDdXJyZW5jaWVzRGF0YSxcclxuICBDb3VudHJ5UmVmZXJlbmNlRGF0YSxcclxuICBDb3VudHJ5UmVmZXJlbmNlc0RhdGEsXHJcbiAgRW1wbG95ZWVEYXRhLFxyXG4gIEVtcGxveWVlc0RhdGEsXHJcbiAgRXhjaGFuZ2VzRGF0YSxcclxuICBJbnN0YWxsYXRpb25EYXRhLFxyXG4gIEluc3RhbGxhdGlvbnNEYXRhLFxyXG4gIExvY2F0aW9uRGF0YSxcclxuICBMb2NhdGlvbkVtcGxveWVlc0RhdGEsXHJcbiAgTG9jYXRpb25zRGF0YSxcclxuICBQYXJhbWV0ZXJzRGF0YSxcclxuICBQYXJhbWV0ZXJzUHJvcHMsXHJcbiAgUGFyYW1ldGVyVmFsdWVEYXRhLFxyXG4gIFBhcmFtZXRlclZhbHVlUHJvcHMsXHJcbiAgU3VwcGx5RW50aXRpZXNEYXRhLFxyXG4gIFdvcmtmbG93c0RhdGFcclxufSBmcm9tICcuL21vZGVscy9hcGktY29tcGFuaWVzLnR5cGVzJ1xyXG5pbXBvcnQgeyBBcGlTdWNjZXNzLCBRdWVyeVBhcmFtcyB9IGZyb20gJy4vbW9kZWxzL2FwaS5tb2RlbHMnXHJcbmltcG9ydCB7IGZvcmtKb2luLCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgaHR0cFBhcmFtcyB9IGZyb20gJy4uL2hlbHBlcnMvaHR0cCdcclxuaW1wb3J0IHsgQ291bnRyeUN1cnJlbmN5UmF0ZSB9IGZyb20gJy4vbW9kZWxzL2FwaS1jb21wYW5pZXMuaW50ZXJmYWNlcydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaUNvbXBhbmllc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yIChcclxuICAgIEBJbmplY3QoJ2VudicpIHByaXZhdGUgZW52aXJvbm1lbnRzOiBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIFVSTCBmb3IgdGhlIGNvbXBhbmllcyBBUEkgZnJvbSB0aGUgZW52aXJvbm1lbnQgY29uZmlndXJhdGlvbnMuXHJcbiAgICpcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBVUkwgb2YgdGhlIGNvbXBhbmllcyBBUEkuXHJcbiAgICovXHJcbiAgZ2V0IHVybCAoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50cy5hcGlDb21wYW5pZXNVcmxcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGluc3RhbGxhdGlvbnMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB1c2VkIHRvIGZpbHRlciB0aGUgaW5zdGFsbGF0aW9ucyBxdWVyeS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEluc3RhbGxhdGlvbnNEYXRhPn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBpbnN0YWxsYXRpb25zIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0SW5zdGFsbGF0aW9ucyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8SW5zdGFsbGF0aW9uc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8SW5zdGFsbGF0aW9uc0RhdGE+PihgJHt0aGlzLnVybH0vaW5zdGFsbGF0aW9uc2AsIHtcclxuICAgICAgcGFyYW1zOiBodHRwUGFyYW1zKHBhcmFtcyksXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBpbnN0YWxsYXRpb24gZGV0YWlscyBiYXNlZCBvbiB0aGUgZ2l2ZW4gaW5zdGFsbGF0aW9uIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBpbnN0YWxsYXRpb24gdG8gcmV0cmlldmUuXHJcbiAgICogQHJldHVybnMge09ic2VydmFibGU8SW5zdGFsbGF0aW9uRGF0YT59IEFuIG9ic2VydmFibGUgb2YgdGhlIGluc3RhbGxhdGlvbiBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIGdldEluc3RhbGxhdGlvbiAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8SW5zdGFsbGF0aW9uRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxJbnN0YWxsYXRpb25EYXRhPj4oYCR7dGhpcy51cmx9L2luc3RhbGxhdGlvbnMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgbG9jYXRpb25zIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdG8gdXNlIGZvciBxdWVyeWluZyBsb2NhdGlvbnMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxMb2NhdGlvbnNEYXRhPn0gQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBsb2NhdGlvbnMgZGF0YS5cclxuICAgKi9cclxuICBnZXRMb2NhdGlvbnMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPExvY2F0aW9uc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8TG9jYXRpb25zRGF0YT4+KGAke3RoaXMudXJsfS9sb2NhdGlvbnNgLCB7XHJcbiAgICAgIHBhcmFtczogaHR0cFBhcmFtcyhwYXJhbXMpLFxyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIGxvY2F0aW9uIGRldGFpbHMgZm9yIGEgZ2l2ZW4gbG9jYXRpb24gSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGxvY2F0aW9uLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TG9jYXRpb25EYXRhPn0gQW4gT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBsb2NhdGlvbiBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIGdldExvY2F0aW9uIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxMb2NhdGlvbkRhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8TG9jYXRpb25EYXRhPj4oYCR7dGhpcy51cmx9L2xvY2F0aW9ucy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBhY3RpdmUgc3VwcGx5IGVudGl0aWVzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHN1cHBseSBlbnRpdGllcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFN1cHBseUVudGl0aWVzRGF0YT59IE9ic2VydmFibGUgZW1pdHRpbmcgc3VwcGx5IGVudGl0aWVzIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0U3VwcGx5RW50aXRpZXNBY3RpdmUgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPFN1cHBseUVudGl0aWVzRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxTdXBwbHlFbnRpdGllc0RhdGE+PihgJHt0aGlzLnVybH0vc3VwcGx5LWVudGl0aWVzL2FjdGl2ZXNgLCB7XHJcbiAgICAgIHBhcmFtczogaHR0cFBhcmFtcyhwYXJhbXMpLFxyXG4gICAgfSkucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgYSBsaXN0IG9mIGVtcGxveWVlcyBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB0byBmaWx0ZXIgYW5kIHNvcnQgdGhlIGVtcGxveWVlcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEVtcGxveWVlc0RhdGE+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGxpc3Qgb2YgZW1wbG95ZWVzLlxyXG4gICAqL1xyXG4gIGdldEVtcGxveWVlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8RW1wbG95ZWVzRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxFbXBsb3llZXNEYXRhPj4oYCR7dGhpcy51cmx9L2VtcGxveWVlc2AsIHtcclxuICAgICAgcGFyYW1zOiBodHRwUGFyYW1zKHBhcmFtcyksXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhbiBlbXBsb3llZSdzIGRldGFpbHMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGVtcGxveWVlIElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBlbXBsb3llZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEVtcGxveWVlRGF0YT59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZW1wbG95ZWUncyBkZXRhaWxzLlxyXG4gICAqL1xyXG4gIGdldEVtcGxveWVlIChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxFbXBsb3llZURhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8RW1wbG95ZWVEYXRhPj4oYCR7dGhpcy51cmx9L2VtcGxveWVlcy8ke2lkfWApXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBsaXN0IG9mIGVtcGxveWVlcyBmb3IgYSBzcGVjaWZpZWQgbG9jYXRpb24gYmFzZWQgb24gcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmlsdGVyIGFuZCByZXRyaWV2ZSB0aGUgbG9jYXRpb24gZW1wbG95ZWVzLlxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPExvY2F0aW9uRW1wbG95ZWVzRGF0YT59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgbGlzdCBvZiBlbXBsb3llZXMgZm9yIHRoZSBzcGVjaWZpZWQgbG9jYXRpb24uXHJcbiAgICovXHJcbiAgZ2V0TG9jYXRpb25FbXBsb3llZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPExvY2F0aW9uRW1wbG95ZWVzRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxMb2NhdGlvbkVtcGxveWVlc0RhdGE+PihgJHt0aGlzLnVybH0vbG9jYXRpb24tZW1wbG95ZWVzYCwge1xyXG4gICAgICBwYXJhbXM6IGh0dHBQYXJhbXMocGFyYW1zKSxcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIGNvdW50cmllcyB3aGVyZSB0aGUgY29tcGFueSBvcGVyYXRlcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIGZvciB0aGUgQVBJIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb21wYW55Q291bnRyaWVzRGF0YT59IEFuIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgbGlzdCBvZiBjb21wYW55IGNvdW50cmllcy5cclxuICAgKi9cclxuICBnZXRDb21wYW55Q291bnRyaWVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDb21wYW55Q291bnRyaWVzRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxDb21wYW55Q291bnRyaWVzRGF0YT4+KGAke3RoaXMudXJsfS9jb21wYW55LWNvdW50cmllc2AsIHtcclxuICAgICAgcGFyYW1zOiBodHRwUGFyYW1zKHBhcmFtcyksXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgY291bnRyeSBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpZWQgY29tcGFueSBieSBpdHMgSUQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge251bWJlcn0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvbXBhbnkuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb21wYW55Q291bnRyeURhdGE+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGNvdW50cnkgaW5mb3JtYXRpb24gb2YgdGhlIGNvbXBhbnkuXHJcbiAgICovXHJcbiAgZ2V0Q29tcGFueUNvdW50cnkgKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvbXBhbnlDb3VudHJ5RGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpU3VjY2VzczxDb21wYW55Q291bnRyeURhdGE+PihgJHt0aGlzLnVybH0vY29tcGFueS1jb3VudHJpZXMvJHtpZH1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIHJlZmVyZW5jZSBjdXJyZW5jaWVzIGZvciBhIGdpdmVuIGNvdW50cnkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge1F1ZXJ5UGFyYW1zfSBwYXJhbXMgLSBUaGUgcXVlcnkgcGFyYW1ldGVycyB0byBpbmNsdWRlIGluIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeVJlZmVyZW5jZUN1cnJlbmNpZXNEYXRhPn0gVGhlIG9ic2VydmFibGUgY29udGFpbmluZyB0aGUgY291bnRyeSByZWZlcmVuY2UgY3VycmVuY2llcyBkYXRhLlxyXG4gICAqL1xyXG4gIGdldENvdW50cnlSZWZlcmVuY2VDdXJyZW5jaWVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDb3VudHJ5UmVmZXJlbmNlQ3VycmVuY2llc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q291bnRyeVJlZmVyZW5jZUN1cnJlbmNpZXNEYXRhPj4oXHJcbiAgICAgIGAke3RoaXMudXJsfS9jb3VudHJ5LXJlZmVyZW5jZS1jdXJyZW5jaWVzYCxcclxuICAgICAgeyBwYXJhbXMgfVxyXG4gICAgKS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBjdXJyZW5jaWVzIGZvciBkaWZmZXJlbnQgY291bnRyaWVzIGFsb25nIHdpdGggdGhlaXIgY3VycmVudCBleGNoYW5nZSByYXRlcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmV0Y2ggdGhlIGNvdW50cnkgcmVmZXJlbmNlIGN1cnJlbmNpZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb3VudHJ5Q3VycmVuY3lSYXRlW10+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgb2YgY291bnRyeSBjdXJyZW5jeSByYXRlcy5cclxuICAgKi9cclxuICBnZXRDb3VudHJ5Q3VycmVuY2llc1dpdGhSYXRlIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDb3VudHJ5Q3VycmVuY3lSYXRlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmdldENvdW50cnlSZWZlcmVuY2VDdXJyZW5jaWVzKHBhcmFtcylcclxuICAgICAgLnBpcGUobWVyZ2VNYXAoKGN1cnJlbmNpZXNEYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgJG9ic2VydmFibGVzID0gY3VycmVuY2llc0RhdGEuY291bnRyeV9yZWZlcmVuY2VfY3VycmVuY2llc1xyXG4gICAgICAgICAgLm1hcCgoY291bnRyeV9yZWZlcmVuY2VfY3VycmVuY3kpID0+XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Q3VycmVudEV4Y2hhbmdlcyh7XHJcbiAgICAgICAgICAgICAgY3VycmVuY3lfaWQ6IGNvdW50cnlfcmVmZXJlbmNlX2N1cnJlbmN5LmN1cnJlbmN5LmlkLFxyXG4gICAgICAgICAgICB9KS5waXBlKFxyXG4gICAgICAgICAgICAgIG1hcCgoZXhjaGFuZ2VzRGF0YSkgPT4gKHtcclxuICAgICAgICAgICAgICAgIC4uLmNvdW50cnlfcmVmZXJlbmNlX2N1cnJlbmN5LFxyXG4gICAgICAgICAgICAgICAgcmF0ZTogZXhjaGFuZ2VzRGF0YS5leGNoYW5nZXNbMF0/LnZhbHVlLFxyXG4gICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApXHJcblxyXG4gICAgICAgIHJldHVybiBmb3JrSm9pbigkb2JzZXJ2YWJsZXMpXHJcbiAgICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBleGNoYW5nZSBkYXRhIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJldHJpZXZpbmcgZXhjaGFuZ2UgZGF0YS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPENvdW50cnlFeGNoYW5nZXNEYXRhPn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBleGNoYW5nZSBkYXRhLlxyXG4gICAqL1xyXG4gIGdldEV4Y2hhbmdlcyAocGFyYW1zOiBRdWVyeVBhcmFtcyk6IE9ic2VydmFibGU8Q291bnRyeUV4Y2hhbmdlc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q291bnRyeUV4Y2hhbmdlc0RhdGE+PihgJHt0aGlzLnVybH0vZXhjaGFuZ2VzYCwge1xyXG4gICAgICBwYXJhbXM6IGh0dHBQYXJhbXMocGFyYW1zKSxcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgZXhjaGFuZ2VzIGJhc2VkIG9uIHRoZSBnaXZlbiBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gZmlsdGVyIHRoZSBleGNoYW5nZXMuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxFeGNoYW5nZXNEYXRhPn0gLSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIEFQSSByZXNwb25zZSBkYXRhIGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgZXhjaGFuZ2VzLlxyXG4gICAqL1xyXG4gIGdldEN1cnJlbnRFeGNoYW5nZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPEV4Y2hhbmdlc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8RXhjaGFuZ2VzRGF0YT4+KGAke3RoaXMudXJsfS9leGNoYW5nZXMvY3VycmVudGAsIHtcclxuICAgICAgcGFyYW1zOiBodHRwUGFyYW1zKHBhcmFtcyksXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgY291bnRyeS1zcGVjaWZpYyB0YXggaW5mb3JtYXRpb24gZm9yIGEgY29tcGFueS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmlsdGVyIGFuZCBxdWVyeSB0aGUgdGF4ZXMuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxDb21wYW55Q291bnRyeVRheGVzRGF0YT59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdGF4IGluZm9ybWF0aW9uLlxyXG4gICAqL1xyXG4gIGdldENvbXBhbnlDb3VudHJ5VGF4ZXMgKHBhcmFtczogUXVlcnlQYXJhbXMpOiBPYnNlcnZhYmxlPENvbXBhbnlDb3VudHJ5VGF4ZXNEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPENvbXBhbnlDb3VudHJ5VGF4ZXNEYXRhPj4oYCR7dGhpcy51cmx9L2NvbXBhbnktY291bnRyeS10YXhlc2AsIHtcclxuICAgICAgcGFyYW1zOiBodHRwUGFyYW1zKHBhcmFtcyksXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBsaXN0IG9mIGFjdGl2ZSBhY2NvdW50IGVudGl0aWVzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdG8gZmlsdGVyIGFuZCBxdWVyeSBhY3RpdmUgYWNjb3VudCBlbnRpdGllcy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEFjY291bnRFbnRpdGllc0RhdGE+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGxpc3Qgb2YgYWN0aXZlIGFjY291bnQgZW50aXRpZXMuXHJcbiAgICovXHJcbiAgZ2V0QWN0aXZlQWNjb3VudEVudGl0aWVzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxBY2NvdW50RW50aXRpZXNEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPEFjY291bnRFbnRpdGllc0RhdGE+PihgJHt0aGlzLnVybH0vYWNjb3VudC1lbnRpdGllcy9hY3RpdmVzYCwge1xyXG4gICAgICBwYXJhbXM6IGh0dHBQYXJhbXMocGFyYW1zKSxcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIHBhcmFtZXRlciB2YWx1ZXMgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlciBuYW1lcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwYXJhbXMucGFyYW1OYW1lcyAtIEFuIGFycmF5IG9mIHBhcmFtZXRlciBuYW1lcyBmb3Igd2hpY2ggdGhlIHZhbHVlcyBuZWVkIHRvIGJlIGZldGNoZWQuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxQYXJhbWV0ZXJzRGF0YT59IEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgZmV0Y2hlZCBwYXJhbWV0ZXIgdmFsdWVzLlxyXG4gICAqL1xyXG4gIGdldFBhcmFtZXRlcnMgKHtcclxuICAgIHBhcmFtTmFtZXMsXHJcbiAgfTogUGFyYW1ldGVyc1Byb3BzKTogT2JzZXJ2YWJsZTxQYXJhbWV0ZXJzRGF0YT4ge1xyXG4gICAgY29uc3QgcGFyYW1ldGVycyA9IHBhcmFtTmFtZXMubWFwKChwKSA9PiAoeyBuYW1lOiBwIH0pKVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlTdWNjZXNzPFBhcmFtZXRlcnNEYXRhPj4oYCR7dGhpcy51cmx9L3BhcmFtZXRlcnMtdmFsdWVzYCwge1xyXG4gICAgICBwYXJhbWV0ZXJzXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSB2YWx1ZSBvZiBhIHNwZWNpZmllZCBwYXJhbWV0ZXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge09iamVjdH0gaW5wdXQgLSBUaGUgaW5wdXQgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHBhcmFtZXRlciBkZXRhaWxzLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dC5wYXJhbU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcGFyYW1ldGVyIHdob3NlIHZhbHVlIGlzIHRvIGJlIHJldHJpZXZlZC5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFBhcmFtZXRlclZhbHVlRGF0YT59IEFuIG9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcGFyYW1ldGVyLlxyXG4gICAqL1xyXG4gIGdldFBhcmFtZXRlclZhbHVlICh7XHJcbiAgICBwYXJhbU5hbWUsXHJcbiAgfTogUGFyYW1ldGVyVmFsdWVQcm9wcyk6IE9ic2VydmFibGU8UGFyYW1ldGVyVmFsdWVEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFBhcmFtZXRlclZhbHVlRGF0YT4+KGAke3RoaXMudXJsfS9wYXJhbWV0ZXJzLXZhbHVlcy8ke3BhcmFtTmFtZX1gKVxyXG4gICAgICAucGlwZShtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2YgY291bnRyeSByZWZlcmVuY2VzIGJhc2VkIG9uIHRoZSBnaXZlbiBxdWVyeSBwYXJhbWV0ZXJzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtRdWVyeVBhcmFtc30gcGFyYW1zIC0gVGhlIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJldHJpZXZpbmcgY291bnRyeSByZWZlcmVuY2VzLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeVJlZmVyZW5jZXNEYXRhPn0gQW4gb2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBjb3VudHJ5IHJlZmVyZW5jZSBkYXRhLlxyXG4gICAqL1xyXG4gIGdldENvdW50cnlSZWZlcmVuY2VzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxDb3VudHJ5UmVmZXJlbmNlc0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q291bnRyeVJlZmVyZW5jZXNEYXRhPj4oYCR7dGhpcy51cmx9L2NvdW50cnktcmVmZXJlbmNlc2AsIHtcclxuICAgICAgcGFyYW1zOiBodHRwUGFyYW1zKHBhcmFtcyksXHJcbiAgICB9KS5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyB0aGUgY291bnRyeSByZWZlcmVuY2UgZGF0YSBmb3IgYSBnaXZlbiBjb3VudHJ5IElELlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjb3VudHJ5IGZvciB3aGljaCB0aGUgcmVmZXJlbmNlIGRhdGEgaXMgdG8gYmUgcmV0cmlldmVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8Q291bnRyeVJlZmVyZW5jZURhdGE+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGNvdW50cnkgcmVmZXJlbmNlIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0Q291bnRyeVJlZmVyZW5jZSAoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q291bnRyeVJlZmVyZW5jZURhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVN1Y2Nlc3M8Q291bnRyeVJlZmVyZW5jZURhdGE+PihgJHt0aGlzLnVybH0vY291bnRyeS1yZWZlcmVuY2VzLyR7aWR9YClcclxuICAgICAgLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBsaXN0IG9mIHdvcmtmbG93cyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7UXVlcnlQYXJhbXN9IHBhcmFtcyAtIFRoZSBxdWVyeSBwYXJhbWV0ZXJzIHVzZWQgdG8gZmlsdGVyIHdvcmtmbG93cy5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFdvcmtmbG93c0RhdGE+fSBBbiBvYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIHdvcmtmbG93IGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0V29ya2Zsb3dzIChwYXJhbXM6IFF1ZXJ5UGFyYW1zKTogT2JzZXJ2YWJsZTxXb3JrZmxvd3NEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlTdWNjZXNzPFdvcmtmbG93c0RhdGE+PihgJHt0aGlzLnVybH0vd29ya2Zsb3dzYCwge1xyXG4gICAgICBwYXJhbXM6IGh0dHBQYXJhbXMocGFyYW1zKSxcclxuICAgIH0pLnBpcGUobWFwKCh7IGRhdGEgfSkgPT4gZGF0YSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { map } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class ApiShipmentsService {
6
+ constructor(environments, http) {
7
+ this.environments = environments;
8
+ this.http = http;
9
+ }
10
+ /**
11
+ * Retrieves the URL for the shipments API from the environment configurations.
12
+ *
13
+ * @return {string} The URL of the shipments API.
14
+ */
15
+ get url() {
16
+ return this.environments.apiShipmentUrl;
17
+ }
18
+ /**
19
+ * Retrieves the parameter values based on the provided parameter names.
20
+ *
21
+ * @param {ValidateAccountProps} body - An object of parameter names for which the values need to be fetched.
22
+ * @return {Observable<ParametersData>} An observable that emits the fetched parameter values
23
+ * @param body
24
+ */
25
+ validateAccount(body) {
26
+ return this.http.post(`${this.url}/accounts`, body)
27
+ .pipe(map(({ data }) => data));
28
+ }
29
+ }
30
+ ApiShipmentsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiShipmentsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ ApiShipmentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiShipmentsService, providedIn: 'root' });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiShipmentsService, decorators: [{
33
+ type: Injectable,
34
+ args: [{
35
+ providedIn: 'root'
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
38
+ type: Inject,
39
+ args: ['env']
40
+ }] }, { type: i1.HttpClient }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvYXBpLXNoaXBtZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBR2xELE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUE7OztBQU90QyxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQ3lCLFlBQXlCLEVBQ3hDLElBQWdCO1FBREQsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN0QixDQUFDO0lBRUw7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUE7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGVBQWUsQ0FBRSxJQUEwQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFrQyxHQUFHLElBQUksQ0FBQyxHQUFHLFdBQVcsRUFBRSxJQUFJLENBQUM7YUFDakYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQzs7aUhBMUJVLG1CQUFtQixrQkFHcEIsS0FBSztxSEFISixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJSSxNQUFNOzJCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL25neC1zZXJ2aWNlcy5tb2RlbHMnXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgQXBpU3VjY2VzcyB9IGZyb20gJy4vbW9kZWxzL2FwaS5tb2RlbHMnXHJcbmltcG9ydCB7IFZhbGlkYXRlQWNjb3VudFByb3BzLCBWYWxpZGF0ZUFjY291bnREYXRhIH0gZnJvbSAnLi9tb2RlbHMvYXBpLXNoaXBtZW50cy50eXBlcydcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwaVNoaXBtZW50c1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvciAoXHJcbiAgICBASW5qZWN0KCdlbnYnKSBwcml2YXRlIGVudmlyb25tZW50czogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBVUkwgZm9yIHRoZSBzaGlwbWVudHMgQVBJIGZyb20gdGhlIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25zLlxyXG4gICAqXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgVVJMIG9mIHRoZSBzaGlwbWVudHMgQVBJLlxyXG4gICAqL1xyXG4gIGdldCB1cmwgKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudHMuYXBpU2hpcG1lbnRVcmxcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgcGFyYW1ldGVyIHZhbHVlcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcGFyYW1ldGVyIG5hbWVzLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtWYWxpZGF0ZUFjY291bnRQcm9wc30gYm9keSAtIEFuIG9iamVjdCBvZiBwYXJhbWV0ZXIgbmFtZXMgZm9yIHdoaWNoIHRoZSB2YWx1ZXMgbmVlZCB0byBiZSBmZXRjaGVkLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8UGFyYW1ldGVyc0RhdGE+fSBBbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGZldGNoZWQgcGFyYW1ldGVyIHZhbHVlc1xyXG4gICAqIEBwYXJhbSBib2R5XHJcbiAgICovXHJcbiAgdmFsaWRhdGVBY2NvdW50IChib2R5OiBWYWxpZGF0ZUFjY291bnRQcm9wcyk6IE9ic2VydmFibGU8VmFsaWRhdGVBY2NvdW50RGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVN1Y2Nlc3M8VmFsaWRhdGVBY2NvdW50RGF0YT4+KGAke3RoaXMudXJsfS9hY2NvdW50c2AsIGJvZHkpXHJcbiAgICAgIC5waXBlKG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpKVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbXBhbmllcy5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvbW9kZWxzL2FwaS1jb21wYW5pZXMuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGFyYXZlbE1vZGVsIH0gZnJvbSAnLi9hcGkubW9kZWxzJ1xyXG5pbXBvcnQgeyBDdXJyZW5jeSwgU3RhdGUgfSBmcm9tICcuL2FwaS1jYXRhbG9nLmludGVyZmFjZXMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnQgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG51bWJlcjogc3RyaW5nXHJcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG4gIGFjY291bnRfdHlwZV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgaXNfZGVmYXVsdDogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBhbnkgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGlkOiBudW1iZXJcclxuICBjcmVhdGVkX2F0OiBzdHJpbmdcclxuICB1cGRhdGVkX2F0OiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBjb250YWN0X25hbWU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfZW1haWw6IHN0cmluZ1xyXG4gIGNvbnRhY3RfcGhvbmU6IHN0cmluZ1xyXG4gIHN0YXRlOiBzdHJpbmdcclxuICBjaXR5OiBzdHJpbmdcclxuICBjb3VudHlfbmFtZTogc3RyaW5nXHJcbiAgemlwX2NvZGU6IHN0cmluZ1xyXG4gIGFkZHJlc3MxOiBzdHJpbmdcclxuICBhZGRyZXNzMjogc3RyaW5nXHJcbiAgYWRkcmVzczM6IHN0cmluZ1xyXG4gIGlzX2FjdGl2ZTogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBhbnlDb3VudHJ5IGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBjb21wYW55X2lkOiBudW1iZXJcclxuICBjb3VudHJ5X2lkOiBudW1iZXJcclxuICBoZWFkcXVhcnRlcnNfY2l0eV9jb2RlOiBzdHJpbmdcclxuICBscF9jb2RlOiBzdHJpbmdcclxuICBjb21wYW55OiBDb21wYW55XHJcbiAgY29udGFjdF9uYW1lOiBzdHJpbmdcclxuICBjb250YWN0X2VtYWlsOiBzdHJpbmdcclxuICBjb250YWN0X3Bob25lX2NvZGU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfcGhvbmVfbnVtYmVyOiBzdHJpbmdcclxuICBzdGF0ZTogc3RyaW5nXHJcbiAgY2l0eTogc3RyaW5nXHJcbiAgemlwX2NvZGU6IHN0cmluZ1xyXG4gIGNvdW50eV9uYW1lOiBzdHJpbmdcclxuICBhZGRyZXNzMTogc3RyaW5nXHJcbiAgYWRkcmVzczI6IHN0cmluZ1xyXG4gIGFkZHJlc3MzOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21wYW55Q291bnRyeVRheCBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgcGVyY2VudGFnZTogbnVtYmVyXHJcbiAgY29tcGFueV9jb3VudHJ5X2lkOiBudW1iZXJcclxuICBzaGlwbWVudF9zY29wZXM6IG51bWJlcltdXHJcbiAgYmFzZV9wZXJjZW50YWdlOiBudW1iZXJcclxuICB0YXhfdHlwZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRyeUN1cnJlbmN5UmF0ZSBleHRlbmRzIENvdW50cnlSZWZlcmVuY2VDdXJyZW5jeSB7XHJcbiAgcmF0ZTogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRyeVJlZmVyZW5jZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbGFuZ3VhZ2VfaWQ6IG51bWJlclxyXG4gIGRlY2ltYWxfcG9pbnQ6IG51bWJlclxyXG4gIGRlY2ltYWxfc2VwYXJhdG9yOiBzdHJpbmdcclxuICB0aG91c2FuZHNfc2VwYXJhdG9yOiBzdHJpbmdcclxuICB1c2VfYmlsbGluZzogYm9vbGVhblxyXG4gIHVzZV9wYXltZW50czogYm9vbGVhblxyXG4gIHJlc3RyaWN0ZWRfaW1wb3J0X2NvdW50cmllczogbnVtYmVyW11cclxuICBjdXJyZW5jeV9pZDogbnVtYmVyXHJcbiAgbWF4X3F1YW50aXR5X2RvY3VtZW50X3BpZWNlOiBudW1iZXJcclxuICBtYXhfcXVhbnRpdHlfcGFja2FnZV9waWVjZTogbnVtYmVyXHJcbiAgd2VpZ2h0X3Jlc3RyaWN0aW9uX3BpZWNlOiBudW1iZXJcclxuICByZXN0cmljdGlvbl9zaGlwbWVudDogbnVtYmVyXHJcbiAgcmVzdHJpY3Rpb25fZGltZW5zaW9uOiBudW1iZXJcclxuICBtYXhfZGVjbGFyZWRfdmFsdWU6IG51bWJlclxyXG4gIHRlcnJpdG9yaWVzOiBudW1iZXJbXVxyXG4gIHNvbWVfb3BlbmluZ3M6IGJvb2xlYW5cclxuICBsb2NhbGU6IHN0cmluZ1xyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGxhYmVsX3ByaW50ZXJfbmFtZTogc3RyaW5nXHJcbiAgcmVjZWlwdF9wcmludGVyX25hbWU6IHN0cmluZ1xyXG4gIG90aGVyc19wcmludGVyX25hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlSZWZlcmVuY2VDdXJyZW5jeSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgY3VycmVuY3lfaWQ6IG51bWJlclxyXG4gIGlzX2xvY2FsOiBib29sZWFuXHJcbiAgY2FuX3RyYW5zYWN0OiBib29sZWFuXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaXNfZGVmYXVsdDogYm9vbGVhblxyXG4gIGlzX2RlY2xhcmVkX2luc3VyZWQ6IGJvb2xlYW5cclxuICBjdXJyZW5jeTogQ3VycmVuY3lcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbXBsb3llZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgbGFzdF9uYW1lOiBzdHJpbmdcclxuICBudW1iZXI6IHN0cmluZ1xyXG4gIGNvbXBhbnlfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGV4dGVybmFsOiBib29sZWFuXHJcbiAgcGhvbmVfY29kZTogc3RyaW5nXHJcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmdcclxuICBpc19hY3RpdmU6IGJvb2xlYW5cclxuICBwYXNzd29yZDogc3RyaW5nXHJcbiAgcm9sZXM6IHN0cmluZ1tdXHJcbiAgbG9jYXRpb25zOiBMb2NhdGlvbltdXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhjaGFuZ2UgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvbXBhbnlfY291bnRyeV9jdXJyZW5jeV9pZDogbnVtYmVyXHJcbiAgdmFsaWRfc2luY2U6IHN0cmluZ1xyXG4gIHZhbGlkX3VudGlsOiBzdHJpbmcgfCBudWxsXHJcbiAgdmFsdWU6IG51bWJlclxyXG4gIHR5cGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlFeGNoYW5nZSBleHRlbmRzIEV4Y2hhbmdlIHtcclxuICBjdXJyZW5jeTogQ3VycmVuY3lcclxuICBjb3VudHJ5X3JlZmVyZW5jZV9jdXJyZW5jeTogQ291bnRyeVJlZmVyZW5jZUN1cnJlbmN5XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFsbGF0aW9uIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBzeXN0ZW1faWQ6IG51bWJlclxyXG4gIG1hY19hZGRyZXNzOiBzdHJpbmdcclxuICBpcF9hZGRyZXNzOiBzdHJpbmdcclxuICBsb2NhdGlvbl9pZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24gZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfbmFtZTogc3RyaW5nXHJcbiAgZW1haWw6IHN0cmluZ1xyXG4gIGZhY2lsaXR5X2NvZGU6IHN0cmluZ1xyXG4gIGxvY2F0aW9uX2NvZGU6IHN0cmluZ1xyXG4gIHR5cGU6IHN0cmluZ1xyXG4gIHN0YXRlX25hbWU6IHN0cmluZ1xyXG4gIHN0YXRlX2lkOiBudW1iZXJcclxuICBzdGF0ZV9jb2RlOiBzdHJpbmdcclxuICBjaXR5X25hbWU6IHN0cmluZ1xyXG4gIHppcF9jb2RlOiBzdHJpbmdcclxuICBjb3VudHlfbmFtZTogc3RyaW5nXHJcbiAgYWRkcmVzczE6IHN0cmluZ1xyXG4gIGFkZHJlc3MyOiBzdHJpbmdcclxuICBhZGRyZXNzMzogc3RyaW5nXHJcbiAgc2VydmljZV9hcmVhX2NvZGU6IHN0cmluZ1xyXG4gIGlhdGFfY29kZTogc3RyaW5nXHJcbiAgcGhvbmVfY29kZTogc3RyaW5nXHJcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmdcclxuICBnbXRfb2Zmc2V0OiBzdHJpbmdcclxuICBjb21wYW55X2NvdW50cnlfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfem9uZV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9yZWdpb25faWQ6IG51bWJlclxyXG4gIG1hbmFnZW1lbnRfYXJlYV9pZDogbnVtYmVyXHJcbiAgZ29vZ2xlX21hcHNfaWQ6IHN0cmluZ1xyXG4gIHJvdXRlX251bWJlcjogc3RyaW5nXHJcbiAgbG9ja2VyX2VuYWJsZWQ6IGJvb2xlYW5cclxuICBxdWV1ZV9tYW5hZ2VyX2VuYWJsZWQ6IGJvb2xlYW5cclxuICBjb21taXNzaW9uX2FjY291bnQ6IHN0cmluZ1xyXG4gIHNlcnZpY2VfcG9pbnRfaWQ6IHN0cmluZ1xyXG4gIGlzX29jY3VyczogYm9vbGVhblxyXG4gIGFjY291bnRzOiBBY2NvdW50W11cclxuICBjb21wYW55X2NvdW50cnk6IENvbXBhbnlDb3VudHJ5XHJcbiAgc3RhdGU6IFN0YXRlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25FbXBsb3llZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbG9jYXRpb25faWQ6IG51bWJlclxyXG4gIGVtcGxveWVlX2lkOiBudW1iZXJcclxuICBpc19hY3RpdmU6IGJvb2xlYW5cclxuICBpc19zdXBlcnZpc29yOiBib29sZWFuXHJcbiAgZW1wbG95ZWU6IEVtcGxveWVlXHJcbiAgbG9jYXRpb246IExvY2F0aW9uXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICB2YWx1ZTogYW55XHJcbiAgc3RhdHVzPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGx5RW50aXR5IGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgZW5hYmxlZF9mb3JfZHJvcG9mZjogYm9vbGVhblxyXG4gIHN1cHBseV90eXBlOiBTdXBwbHlUeXBlXHJcbiAgc3VwcGx5X3BhY2tpbmc6IFN1cHBseVBhY2tpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwbHlQYWNraW5nIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICB2YWx1ZTogbnVtYmVyXHJcbiAgd2VpZ2h0OiBudW1iZXJcclxuICBoZWlnaHQ6IG51bWJlclxyXG4gIGRlcHRoOiBudW1iZXJcclxuICB3aWR0aDogbnVtYmVyXHJcbiAgZW1vYmlsZV9jb2RlOiBzdHJpbmcgfCBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGx5VHlwZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3cge1xyXG4gIHBhZ2U6IHN0cmluZ1xyXG4gIGVuYWJsZWQ6IGJvb2xlYW5cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uRW1wbG95ZWUgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGxvY2F0aW9uX2lkOiBudW1iZXJcclxuICBlbXBsb3llZV9pZDogbnVtYmVyXHJcbiAgaXNfYWN0aXZlOiBib29sZWFuXHJcbiAgaXNfc3VwZXJ2aXNvcjogYm9vbGVhblxyXG4gIGVtcGxveWVlOiBFbXBsb3llZVxyXG4gIGxvY2F0aW9uOiBMb2NhdGlvblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVtcGxveWVlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICBsYXN0X25hbWU6IHN0cmluZ1xyXG4gIG51bWJlcjogc3RyaW5nXHJcbiAgY29tcGFueV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgZXh0ZXJuYWw6IGJvb2xlYW5cclxuICBwaG9uZV9jb2RlOiBzdHJpbmdcclxuICBwaG9uZV9udW1iZXI6IHN0cmluZ1xyXG4gIGlzX2FjdGl2ZTogYm9vbGVhblxyXG4gIHBhc3N3b3JkOiBzdHJpbmdcclxuICByb2xlczogc3RyaW5nW11cclxuICBsb2NhdGlvbnM6IExvY2F0aW9uW11cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbiBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY29udGFjdF9uYW1lOiBzdHJpbmdcclxuICBlbWFpbDogc3RyaW5nXHJcbiAgZmFjaWxpdHlfY29kZTogc3RyaW5nXHJcbiAgbG9jYXRpb25fY29kZTogc3RyaW5nXHJcbiAgdHlwZTogc3RyaW5nXHJcbiAgc3RhdGVfbmFtZTogc3RyaW5nXHJcbiAgc3RhdGVfaWQ6IG51bWJlclxyXG4gIHN0YXRlX2NvZGU6IHN0cmluZ1xyXG4gIGNpdHlfbmFtZTogc3RyaW5nXHJcbiAgemlwX2NvZGU6IHN0cmluZ1xyXG4gIGNvdW50eV9uYW1lOiBzdHJpbmdcclxuICBhZGRyZXNzMTogc3RyaW5nXHJcbiAgYWRkcmVzczI6IHN0cmluZ1xyXG4gIGFkZHJlc3MzOiBzdHJpbmdcclxuICBzZXJ2aWNlX2FyZWFfY29kZTogc3RyaW5nXHJcbiAgaWF0YV9jb2RlOiBzdHJpbmdcclxuICBwaG9uZV9jb2RlOiBzdHJpbmdcclxuICBwaG9uZV9udW1iZXI6IHN0cmluZ1xyXG4gIGdtdF9vZmZzZXQ6IHN0cmluZ1xyXG4gIGNvbXBhbnlfY291bnRyeV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV96b25lX2lkOiBudW1iZXJcclxuICBjb3VudHJ5X3JlZ2lvbl9pZDogbnVtYmVyXHJcbiAgbWFuYWdlbWVudF9hcmVhX2lkOiBudW1iZXJcclxuICBnb29nbGVfbWFwc19pZDogc3RyaW5nXHJcbiAgcm91dGVfbnVtYmVyOiBzdHJpbmdcclxuICBsb2NrZXJfZW5hYmxlZDogYm9vbGVhblxyXG4gIHF1ZXVlX21hbmFnZXJfZW5hYmxlZDogYm9vbGVhblxyXG4gIGNvbW1pc3Npb25fYWNjb3VudDogc3RyaW5nXHJcbiAgc2VydmljZV9wb2ludF9pZDogc3RyaW5nXHJcbiAgaXNfb2NjdXJzOiBib29sZWFuXHJcbiAgYWNjb3VudHM6IEFjY291bnRbXVxyXG4gIGNvbXBhbnlfY291bnRyeTogQ29tcGFueUNvdW50cnlcclxuICBzdGF0ZTogU3RhdGVcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21wYW55IGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBpZDogbnVtYmVyXHJcbiAgY3JlYXRlZF9hdDogc3RyaW5nXHJcbiAgdXBkYXRlZF9hdDogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgY29udGFjdF9uYW1lOiBzdHJpbmdcclxuICBjb250YWN0X2VtYWlsOiBzdHJpbmdcclxuICBjb250YWN0X3Bob25lOiBzdHJpbmdcclxuICBzdGF0ZTogc3RyaW5nXHJcbiAgY2l0eTogc3RyaW5nXHJcbiAgY291bnR5X25hbWU6IHN0cmluZ1xyXG4gIHppcF9jb2RlOiBzdHJpbmdcclxuICBhZGRyZXNzMTogc3RyaW5nXHJcbiAgYWRkcmVzczI6IHN0cmluZ1xyXG4gIGFkZHJlc3MzOiBzdHJpbmdcclxuICBpc19hY3RpdmU6IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21wYW55Q291bnRyeSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY29tcGFueV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgaGVhZHF1YXJ0ZXJzX2NpdHlfY29kZTogc3RyaW5nXHJcbiAgbHBfY29kZTogc3RyaW5nXHJcbiAgY29tcGFueTogQ29tcGFueVxyXG4gIGNvbnRhY3RfbmFtZTogc3RyaW5nXHJcbiAgY29udGFjdF9lbWFpbDogc3RyaW5nXHJcbiAgY29udGFjdF9waG9uZV9jb2RlOiBzdHJpbmdcclxuICBjb250YWN0X3Bob25lX251bWJlcjogc3RyaW5nXHJcbiAgc3RhdGU6IHN0cmluZ1xyXG4gIGNpdHk6IHN0cmluZ1xyXG4gIHppcF9jb2RlOiBzdHJpbmdcclxuICBjb3VudHlfbmFtZTogc3RyaW5nXHJcbiAgYWRkcmVzczE6IHN0cmluZ1xyXG4gIGFkZHJlc3MyOiBzdHJpbmdcclxuICBhZGRyZXNzMzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFsbGF0aW9uIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBzeXN0ZW1faWQ6IG51bWJlclxyXG4gIG1hY19hZGRyZXNzOiBzdHJpbmdcclxuICBpcF9hZGRyZXNzOiBzdHJpbmdcclxuICBsb2NhdGlvbl9pZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGx5RW50aXR5IGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgZW5hYmxlZF9mb3JfZHJvcG9mZjogYm9vbGVhblxyXG4gIHN1cHBseV90eXBlOiBTdXBwbHlUeXBlXHJcbiAgc3VwcGx5X3BhY2tpbmc6IFN1cHBseVBhY2tpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwbHlUeXBlIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwbHlQYWNraW5nIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICB2YWx1ZTogbnVtYmVyXHJcbiAgd2VpZ2h0OiBudW1iZXJcclxuICBoZWlnaHQ6IG51bWJlclxyXG4gIGRlcHRoOiBudW1iZXJcclxuICB3aWR0aDogbnVtYmVyXHJcbiAgZW1vYmlsZV9jb2RlOiBzdHJpbmcgfCBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW1wbG95ZWUgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGxhc3RfbmFtZTogc3RyaW5nXHJcbiAgbnVtYmVyOiBzdHJpbmdcclxuICBjb21wYW55X2lkOiBudW1iZXJcclxuICBjb3VudHJ5X2lkOiBudW1iZXJcclxuICBleHRlcm5hbDogYm9vbGVhblxyXG4gIHBob25lX2NvZGU6IHN0cmluZ1xyXG4gIHBob25lX251bWJlcjogc3RyaW5nXHJcbiAgaXNfYWN0aXZlOiBib29sZWFuXHJcbiAgcGFzc3dvcmQ6IHN0cmluZ1xyXG4gIHJvbGVzOiBzdHJpbmdbXVxyXG4gIGxvY2F0aW9uczogTG9jYXRpb25bXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlSZWZlcmVuY2VDdXJyZW5jeSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgY3VycmVuY3lfaWQ6IG51bWJlclxyXG4gIGlzX2xvY2FsOiBib29sZWFuXHJcbiAgY2FuX3RyYW5zYWN0OiBib29sZWFuXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaXNfZGVmYXVsdDogYm9vbGVhblxyXG4gIGlzX2RlY2xhcmVkX2luc3VyZWQ6IGJvb2xlYW5cclxuICBjdXJyZW5jeTogQ3VycmVuY3lcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21wYW55Q291bnRyeVRheCBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgcGVyY2VudGFnZTogbnVtYmVyXHJcbiAgY29tcGFueV9jb3VudHJ5X2lkOiBudW1iZXJcclxuICBzaGlwbWVudF9zY29wZXM6IG51bWJlcltdXHJcbiAgYmFzZV9wZXJjZW50YWdlOiBudW1iZXJcclxuICB0YXhfdHlwZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhjaGFuZ2UgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvbXBhbnlfY291bnRyeV9jdXJyZW5jeV9pZDogbnVtYmVyXHJcbiAgdmFsaWRfc2luY2U6IHN0cmluZ1xyXG4gIHZhbGlkX3VudGlsOiBzdHJpbmcgfCBudWxsXHJcbiAgdmFsdWU6IG51bWJlclxyXG4gIHR5cGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlciB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgdmFsdWU6IGFueVxyXG4gIHN0YXR1cz86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlSZWZlcmVuY2UgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGxhbmd1YWdlX2lkOiBudW1iZXJcclxuICBkZWNpbWFsX3BvaW50OiBudW1iZXJcclxuICBkZWNpbWFsX3NlcGFyYXRvcjogc3RyaW5nXHJcbiAgdGhvdXNhbmRzX3NlcGFyYXRvcjogc3RyaW5nXHJcbiAgdXNlX2JpbGxpbmc6IGJvb2xlYW5cclxuICB1c2VfcGF5bWVudHM6IGJvb2xlYW5cclxuICByZXN0cmljdGVkX2ltcG9ydF9jb3VudHJpZXM6IG51bWJlcltdXHJcbiAgY3VycmVuY3lfaWQ6IG51bWJlclxyXG4gIG1heF9xdWFudGl0eV9kb2N1bWVudF9waWVjZTogbnVtYmVyXHJcbiAgbWF4X3F1YW50aXR5X3BhY2thZ2VfcGllY2U6IG51bWJlclxyXG4gIHdlaWdodF9yZXN0cmljdGlvbl9waWVjZTogbnVtYmVyXHJcbiAgcmVzdHJpY3Rpb25fc2hpcG1lbnQ6IG51bWJlclxyXG4gIHJlc3RyaWN0aW9uX2RpbWVuc2lvbjogbnVtYmVyXHJcbiAgbWF4X2RlY2xhcmVkX3ZhbHVlOiBudW1iZXJcclxuICB0ZXJyaXRvcmllczogbnVtYmVyW11cclxuICBzb21lX29wZW5pbmdzOiBib29sZWFuXHJcbiAgbG9jYWxlOiBzdHJpbmdcclxuICBjb3VudHJ5X2lkOiBudW1iZXJcclxuICBsYWJlbF9wcmludGVyX25hbWU6IHN0cmluZ1xyXG4gIHJlY2VpcHRfcHJpbnRlcl9uYW1lOiBzdHJpbmdcclxuICBvdGhlcnNfcHJpbnRlcl9uYW1lOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvdyB7XHJcbiAgcGFnZTogc3RyaW5nXHJcbiAgZW5hYmxlZDogYm9vbGVhblxyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbXBhbmllcy5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJ0ZWFtLW14L25neC1zZXJ2aWNlcy9zcmMvbGliL2FwaXMvbW9kZWxzL2FwaS1jb21wYW5pZXMuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGFyYXZlbE1vZGVsIH0gZnJvbSAnLi9hcGkubW9kZWxzJ1xyXG5pbXBvcnQgeyBDdXJyZW5jeSwgU3RhdGUgfSBmcm9tICcuL2FwaS1jYXRhbG9nLmludGVyZmFjZXMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnQgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG51bWJlcjogc3RyaW5nXHJcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG4gIGFjY291bnRfdHlwZV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgaXNfZGVmYXVsdDogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBhbnkgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGlkOiBudW1iZXJcclxuICBjcmVhdGVkX2F0OiBzdHJpbmdcclxuICB1cGRhdGVkX2F0OiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBjb250YWN0X25hbWU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfZW1haWw6IHN0cmluZ1xyXG4gIGNvbnRhY3RfcGhvbmU6IHN0cmluZ1xyXG4gIHN0YXRlOiBzdHJpbmdcclxuICBjaXR5OiBzdHJpbmdcclxuICBjb3VudHlfbmFtZTogc3RyaW5nXHJcbiAgemlwX2NvZGU6IHN0cmluZ1xyXG4gIGFkZHJlc3MxOiBzdHJpbmdcclxuICBhZGRyZXNzMjogc3RyaW5nXHJcbiAgYWRkcmVzczM6IHN0cmluZ1xyXG4gIGlzX2FjdGl2ZTogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBhbnlDb3VudHJ5IGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBjb21wYW55X2lkOiBudW1iZXJcclxuICBjb3VudHJ5X2lkOiBudW1iZXJcclxuICBoZWFkcXVhcnRlcnNfY2l0eV9jb2RlOiBzdHJpbmdcclxuICBscF9jb2RlOiBzdHJpbmdcclxuICBjb21wYW55OiBDb21wYW55XHJcbiAgY29udGFjdF9uYW1lOiBzdHJpbmdcclxuICBjb250YWN0X2VtYWlsOiBzdHJpbmdcclxuICBjb250YWN0X3Bob25lX2NvZGU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfcGhvbmVfbnVtYmVyOiBzdHJpbmdcclxuICBzdGF0ZTogc3RyaW5nXHJcbiAgY2l0eTogc3RyaW5nXHJcbiAgemlwX2NvZGU6IHN0cmluZ1xyXG4gIGNvdW50eV9uYW1lOiBzdHJpbmdcclxuICBhZGRyZXNzMTogc3RyaW5nXHJcbiAgYWRkcmVzczI6IHN0cmluZ1xyXG4gIGFkZHJlc3MzOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21wYW55Q291bnRyeVRheCBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgcGVyY2VudGFnZTogbnVtYmVyXHJcbiAgY29tcGFueV9jb3VudHJ5X2lkOiBudW1iZXJcclxuICBzaGlwbWVudF9zY29wZXM6IG51bWJlcltdXHJcbiAgYmFzZV9wZXJjZW50YWdlOiBudW1iZXJcclxuICB0YXhfdHlwZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRyeUN1cnJlbmN5UmF0ZSBleHRlbmRzIENvdW50cnlSZWZlcmVuY2VDdXJyZW5jeSB7XHJcbiAgcmF0ZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ291bnRyeVJlZmVyZW5jZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbGFuZ3VhZ2VfaWQ6IG51bWJlclxyXG4gIGRlY2ltYWxfcG9pbnQ6IG51bWJlclxyXG4gIGRlY2ltYWxfc2VwYXJhdG9yOiBzdHJpbmdcclxuICB0aG91c2FuZHNfc2VwYXJhdG9yOiBzdHJpbmdcclxuICB1c2VfYmlsbGluZzogYm9vbGVhblxyXG4gIHVzZV9wYXltZW50czogYm9vbGVhblxyXG4gIHJlc3RyaWN0ZWRfaW1wb3J0X2NvdW50cmllczogbnVtYmVyW11cclxuICBjdXJyZW5jeV9pZDogbnVtYmVyXHJcbiAgbWF4X3F1YW50aXR5X2RvY3VtZW50X3BpZWNlOiBudW1iZXJcclxuICBtYXhfcXVhbnRpdHlfcGFja2FnZV9waWVjZTogbnVtYmVyXHJcbiAgd2VpZ2h0X3Jlc3RyaWN0aW9uX3BpZWNlOiBudW1iZXJcclxuICByZXN0cmljdGlvbl9zaGlwbWVudDogbnVtYmVyXHJcbiAgcmVzdHJpY3Rpb25fZGltZW5zaW9uOiBudW1iZXJcclxuICBtYXhfZGVjbGFyZWRfdmFsdWU6IG51bWJlclxyXG4gIHRlcnJpdG9yaWVzOiBudW1iZXJbXVxyXG4gIHNvbWVfb3BlbmluZ3M6IGJvb2xlYW5cclxuICBsb2NhbGU6IHN0cmluZ1xyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGxhYmVsX3ByaW50ZXJfbmFtZTogc3RyaW5nXHJcbiAgcmVjZWlwdF9wcmludGVyX25hbWU6IHN0cmluZ1xyXG4gIG90aGVyc19wcmludGVyX25hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlSZWZlcmVuY2VDdXJyZW5jeSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgY3VycmVuY3lfaWQ6IG51bWJlclxyXG4gIGlzX2xvY2FsOiBib29sZWFuXHJcbiAgY2FuX3RyYW5zYWN0OiBib29sZWFuXHJcbiAgY29kZTogc3RyaW5nXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgaXNfZGVmYXVsdDogYm9vbGVhblxyXG4gIGlzX2RlY2xhcmVkX2luc3VyZWQ6IGJvb2xlYW5cclxuICBjdXJyZW5jeTogQ3VycmVuY3lcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbXBsb3llZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgbGFzdF9uYW1lOiBzdHJpbmdcclxuICBudW1iZXI6IHN0cmluZ1xyXG4gIGNvbXBhbnlfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfaWQ6IG51bWJlclxyXG4gIGV4dGVybmFsOiBib29sZWFuXHJcbiAgcGhvbmVfY29kZTogc3RyaW5nXHJcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmdcclxuICBpc19hY3RpdmU6IGJvb2xlYW5cclxuICBwYXNzd29yZDogc3RyaW5nXHJcbiAgcm9sZXM6IHN0cmluZ1tdXHJcbiAgbG9jYXRpb25zOiBMb2NhdGlvbltdXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhjaGFuZ2UgZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIGNvbXBhbnlfY291bnRyeV9jdXJyZW5jeV9pZDogbnVtYmVyXHJcbiAgdmFsaWRfc2luY2U6IHN0cmluZ1xyXG4gIHZhbGlkX3VudGlsOiBzdHJpbmcgfCBudWxsXHJcbiAgdmFsdWU6IHN0cmluZ1xyXG4gIHR5cGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvdW50cnlFeGNoYW5nZSBleHRlbmRzIEV4Y2hhbmdlIHtcclxuICBjdXJyZW5jeTogQ3VycmVuY3lcclxuICBjb3VudHJ5X3JlZmVyZW5jZV9jdXJyZW5jeTogQ291bnRyeVJlZmVyZW5jZUN1cnJlbmN5XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFsbGF0aW9uIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBzeXN0ZW1faWQ6IG51bWJlclxyXG4gIG1hY19hZGRyZXNzOiBzdHJpbmdcclxuICBpcF9hZGRyZXNzOiBzdHJpbmdcclxuICBsb2NhdGlvbl9pZDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24gZXh0ZW5kcyBMYXJhdmVsTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZ1xyXG4gIGNvbnRhY3RfbmFtZTogc3RyaW5nXHJcbiAgZW1haWw6IHN0cmluZ1xyXG4gIGZhY2lsaXR5X2NvZGU6IHN0cmluZ1xyXG4gIGxvY2F0aW9uX2NvZGU6IHN0cmluZ1xyXG4gIHR5cGU6IHN0cmluZ1xyXG4gIHN0YXRlX25hbWU6IHN0cmluZ1xyXG4gIHN0YXRlX2lkOiBudW1iZXJcclxuICBzdGF0ZV9jb2RlOiBzdHJpbmdcclxuICBjaXR5X25hbWU6IHN0cmluZ1xyXG4gIHppcF9jb2RlOiBzdHJpbmdcclxuICBjb3VudHlfbmFtZTogc3RyaW5nXHJcbiAgYWRkcmVzczE6IHN0cmluZ1xyXG4gIGFkZHJlc3MyOiBzdHJpbmdcclxuICBhZGRyZXNzMzogc3RyaW5nXHJcbiAgc2VydmljZV9hcmVhX2NvZGU6IHN0cmluZ1xyXG4gIGlhdGFfY29kZTogc3RyaW5nXHJcbiAgcGhvbmVfY29kZTogc3RyaW5nXHJcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmdcclxuICBnbXRfb2Zmc2V0OiBzdHJpbmdcclxuICBjb21wYW55X2NvdW50cnlfaWQ6IG51bWJlclxyXG4gIGNvdW50cnlfem9uZV9pZDogbnVtYmVyXHJcbiAgY291bnRyeV9yZWdpb25faWQ6IG51bWJlclxyXG4gIG1hbmFnZW1lbnRfYXJlYV9pZDogbnVtYmVyXHJcbiAgZ29vZ2xlX21hcHNfaWQ6IHN0cmluZ1xyXG4gIHJvdXRlX251bWJlcjogc3RyaW5nXHJcbiAgbG9ja2VyX2VuYWJsZWQ6IGJvb2xlYW5cclxuICBxdWV1ZV9tYW5hZ2VyX2VuYWJsZWQ6IGJvb2xlYW5cclxuICBjb21taXNzaW9uX2FjY291bnQ6IHN0cmluZ1xyXG4gIHNlcnZpY2VfcG9pbnRfaWQ6IHN0cmluZ1xyXG4gIGlzX29jY3VyczogYm9vbGVhblxyXG4gIGFjY291bnRzOiBBY2NvdW50W11cclxuICBjb21wYW55X2NvdW50cnk6IENvbXBhbnlDb3VudHJ5XHJcbiAgc3RhdGU6IFN0YXRlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25FbXBsb3llZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbG9jYXRpb25faWQ6IG51bWJlclxyXG4gIGVtcGxveWVlX2lkOiBudW1iZXJcclxuICBpc19hY3RpdmU6IGJvb2xlYW5cclxuICBpc19zdXBlcnZpc29yOiBib29sZWFuXHJcbiAgZW1wbG95ZWU6IEVtcGxveWVlXHJcbiAgbG9jYXRpb246IExvY2F0aW9uXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICB2YWx1ZTogYW55XHJcbiAgc3RhdHVzPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGx5RW50aXR5IGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmdcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nXHJcbiAgY291bnRyeV9pZDogbnVtYmVyXHJcbiAgZW5hYmxlZF9mb3JfZHJvcG9mZjogYm9vbGVhblxyXG4gIHN1cHBseV90eXBlOiBTdXBwbHlUeXBlXHJcbiAgc3VwcGx5X3BhY2tpbmc6IFN1cHBseVBhY2tpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwbHlQYWNraW5nIGV4dGVuZHMgTGFyYXZlbE1vZGVsIHtcclxuICB2YWx1ZTogbnVtYmVyXHJcbiAgd2VpZ2h0OiBudW1iZXJcclxuICBoZWlnaHQ6IG51bWJlclxyXG4gIGRlcHRoOiBudW1iZXJcclxuICB3aWR0aDogbnVtYmVyXHJcbiAgZW1vYmlsZV9jb2RlOiBzdHJpbmcgfCBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGx5VHlwZSBleHRlbmRzIExhcmF2ZWxNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3cge1xyXG4gIHBhZ2U6IHN0cmluZ1xyXG4gIGVuYWJsZWQ6IGJvb2xlYW5cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNoaXBtZW50cy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9hcGlzL21vZGVscy9hcGktc2hpcG1lbnRzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBwYXJhbXMgdG8gZmlsdGVycyBpbiBhY2NvdW50XHJcbmV4cG9ydCB0eXBlIFZhbGlkYXRlQWNjb3VudFByb3BzID0ge1xyXG4gIGFjY291bnRWYWx1ZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEFjY291bnRSZXNwb25zZSA9IHtcclxuICBzdGF0dXM6IHRydWVcclxuICBtZXNzYWdlOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBhY2NvdW50U3RhdHVzOiBzdHJpbmdcclxuICBjcmVkaXRTdGF0dXM6IHN0cmluZ1xyXG4gIGFjdGl2aXR5U3RhdHVzOiBzdHJpbmdcclxuICBjb3VudHJ5OiBzdHJpbmdcclxuICBjb3VudHJ5TmFtZTogc3RyaW5nXHJcbiAgaXNDcmVkaXRTdG9wOiBib29sZWFuXHJcbiAgaXNJbXBvcnRFbmFibGVkOiBib29sZWFuXHJcbiAgYWNjb3VudFR5cGU6IHN0cmluZ1xyXG4gIGlzQ2FzaDogYm9vbGVhblxyXG4gIGNvbnRhY3RJbmZvOiBzdHJpbmcgfCBudWxsXHJcbiAgcmVnaXN0cmF0aW9uSW5mbzogc3RyaW5nIHwgbnVsbFxyXG4gIHVzZXJzOiB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIHZhbGlkOiBib29sZWFuXHJcbiAgfVtdXHJcbn0gfCB7XHJcbiAgc3RhdHVzOiBmYWxzZVxyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG4gIHVzZXJzOiBbXVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBWYWxpZGF0ZUFjY291bnREYXRhID0ge1xyXG4gIGFjY291bnQ6IEFjY291bnRSZXNwb25zZVxyXG4gIHRyYW5zYWN0aW9uSWQ6IHN0cmluZ1xyXG59XHJcblxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNlcnZpY2VzLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9uZ3gtc2VydmljZXMubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFbnZpcm9ubWVudCA9IHtcclxuICBjYWNoZVR0bD86IG51bWJlclxyXG4gIHRva2VuTmFtZTogc3RyaW5nXHJcbiAgYXBpU2VjdXJpdHlVcmw6IHN0cmluZ1xyXG4gIGFwaUNvbXBhbmllc1VybDogc3RyaW5nXHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNlcnZpY2VzLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL2xpYi9uZ3gtc2VydmljZXMubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFbnZpcm9ubWVudCA9IHtcclxuICBjYWNoZVR0bD86IG51bWJlclxyXG4gIHRva2VuTmFtZTogc3RyaW5nXHJcbiAgYXBpU2VjdXJpdHlVcmw6IHN0cmluZ1xyXG4gIGFwaUNvbXBhbmllc1VybDogc3RyaW5nXHJcbiAgYXBpU2hpcG1lbnRVcmw6IHN0cmluZ1xyXG59XHJcbiJdfQ==
@@ -5,16 +5,18 @@ export * from './lib/ngx-services.module';
5
5
  // api services
6
6
  export * from './lib/apis/api-companies.service';
7
7
  export * from './lib/apis/api-security.service';
8
+ export * from './lib/apis/api-shipments.service';
8
9
  // api models
9
- export * from './lib/apis/models/api.models';
10
10
  export * from './lib/apis/models/api-companies.interfaces';
11
11
  export * from './lib/apis/models/api-companies.types';
12
12
  export * from './lib/apis/models/api-security.interfaces';
13
13
  export * from './lib/apis/models/api-security.types';
14
+ export * from './lib/apis/models/api-shipments.types';
15
+ export * from './lib/apis/models/api.models';
14
16
  // interceptors
15
17
  export * from './lib/interceptors/api-headers.interceptor';
16
18
  export * from './lib/interceptors/api-token.interceptor';
17
19
  export * from './lib/interceptors/http-caching.interceptor';
18
20
  // helpers
19
21
  export * from './lib/helpers/http';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLDJCQUEyQixDQUFBO0FBRXpDLGVBQWU7QUFDZixjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsaUNBQWlDLENBQUE7QUFFL0MsYUFBYTtBQUNiLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyw0Q0FBNEMsQ0FBQTtBQUMxRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyxzQ0FBc0MsQ0FBQTtBQUVwRCxlQUFlO0FBQ2YsY0FBYyw0Q0FBNEMsQ0FBQTtBQUMxRCxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsNkNBQTZDLENBQUE7QUFFM0QsVUFBVTtBQUNWLGNBQWMsb0JBQW9CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXNlcnZpY2VzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3gtc2VydmljZXMubW9kdWxlJ1xyXG5cclxuLy8gYXBpIHNlcnZpY2VzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvYXBpLWNvbXBhbmllcy5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL2FwaS1zZWN1cml0eS5zZXJ2aWNlJ1xyXG5cclxuLy8gYXBpIG1vZGVsc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGkubW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktY29tcGFuaWVzLmludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1jb21wYW5pZXMudHlwZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1zZWN1cml0eS5pbnRlcmZhY2VzJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL21vZGVscy9hcGktc2VjdXJpdHkudHlwZXMnXHJcblxyXG4vLyBpbnRlcmNlcHRvcnNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzL2FwaS1oZWFkZXJzLmludGVyY2VwdG9yJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMvYXBpLXRva2VuLmludGVyY2VwdG9yJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMvaHR0cC1jYWNoaW5nLmludGVyY2VwdG9yJ1xyXG5cclxuLy8gaGVscGVyc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWxwZXJzL2h0dHAnXHJcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVydGVhbS1teC9uZ3gtc2VydmljZXMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLDJCQUEyQixDQUFBO0FBRXpDLGVBQWU7QUFDZixjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyxrQ0FBa0MsQ0FBQTtBQUVoRCxhQUFhO0FBQ2IsY0FBYyw0Q0FBNEMsQ0FBQTtBQUMxRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsOEJBQThCLENBQUE7QUFFNUMsZUFBZTtBQUNmLGNBQWMsNENBQTRDLENBQUE7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQTtBQUN4RCxjQUFjLDZDQUE2QyxDQUFBO0FBRTNELFVBQVU7QUFDVixjQUFjLG9CQUFvQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1zZXJ2aWNlc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXNlcnZpY2VzLm1vZHVsZSdcclxuXHJcbi8vIGFwaSBzZXJ2aWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGlzL2FwaS1jb21wYW5pZXMuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9hcGktc2VjdXJpdHkuc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9hcGktc2hpcG1lbnRzLnNlcnZpY2UnXHJcblxyXG4vLyBhcGkgbW9kZWxzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1jb21wYW5pZXMuaW50ZXJmYWNlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLWNvbXBhbmllcy50eXBlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLXNlY3VyaXR5LmludGVyZmFjZXMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaXMvbW9kZWxzL2FwaS1zZWN1cml0eS50eXBlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLXNoaXBtZW50cy50eXBlcydcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpcy9tb2RlbHMvYXBpLm1vZGVscydcclxuXHJcbi8vIGludGVyY2VwdG9yc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMvYXBpLWhlYWRlcnMuaW50ZXJjZXB0b3InXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9hcGktdG9rZW4uaW50ZXJjZXB0b3InXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycy9odHRwLWNhY2hpbmcuaW50ZXJjZXB0b3InXHJcblxyXG4vLyBoZWxwZXJzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlbHBlcnMvaHR0cCdcclxuIl19
@@ -246,8 +246,8 @@ class ApiCompaniesService {
246
246
  .map((country_reference_currency) => this.getCurrentExchanges({
247
247
  currency_id: country_reference_currency.currency.id,
248
248
  }).pipe(map((exchangesData) => {
249
- var _a, _b;
250
- return (Object.assign(Object.assign({}, country_reference_currency), { rate: (_b = (_a = exchangesData.exchanges[0]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 1.00 }));
249
+ var _a;
250
+ return (Object.assign(Object.assign({}, country_reference_currency), { rate: (_a = exchangesData.exchanges[0]) === null || _a === void 0 ? void 0 : _a.value }));
251
251
  })));
252
252
  return forkJoin($observables);
253
253
  }));
@@ -492,6 +492,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
492
492
  }] }, { type: i1$1.CookieService }, { type: i1.HttpClient }];
493
493
  } });
494
494
 
495
+ class ApiShipmentsService {
496
+ constructor(environments, http) {
497
+ this.environments = environments;
498
+ this.http = http;
499
+ }
500
+ /**
501
+ * Retrieves the URL for the shipments API from the environment configurations.
502
+ *
503
+ * @return {string} The URL of the shipments API.
504
+ */
505
+ get url() {
506
+ return this.environments.apiShipmentUrl;
507
+ }
508
+ /**
509
+ * Retrieves the parameter values based on the provided parameter names.
510
+ *
511
+ * @param {ValidateAccountProps} body - An object of parameter names for which the values need to be fetched.
512
+ * @return {Observable<ParametersData>} An observable that emits the fetched parameter values
513
+ * @param body
514
+ */
515
+ validateAccount(body) {
516
+ return this.http.post(`${this.url}/accounts`, body)
517
+ .pipe(map(({ data }) => data));
518
+ }
519
+ }
520
+ ApiShipmentsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiShipmentsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
521
+ ApiShipmentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiShipmentsService, providedIn: 'root' });
522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiShipmentsService, decorators: [{
523
+ type: Injectable,
524
+ args: [{
525
+ providedIn: 'root'
526
+ }]
527
+ }], ctorParameters: function () {
528
+ return [{ type: undefined, decorators: [{
529
+ type: Inject,
530
+ args: ['env']
531
+ }] }, { type: i1.HttpClient }];
532
+ } });
533
+
495
534
  class ApiHeadersInterceptor {
496
535
  /**
497
536
  * Intercepts HTTP requests and adds common headers.
@@ -606,5 +645,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
606
645
  * Generated bundle index. Do not edit.
607
646
  */
608
647
 
609
- export { ApiCompaniesService, ApiHeadersInterceptor, ApiSecurityService, ApiTokenInterceptor, HttpCachingInterceptor, NgxServicesModule, httpParams, pdfHeaders, queryString, xmlHeaders };
648
+ export { ApiCompaniesService, ApiHeadersInterceptor, ApiSecurityService, ApiShipmentsService, ApiTokenInterceptor, HttpCachingInterceptor, NgxServicesModule, httpParams, pdfHeaders, queryString, xmlHeaders };
610
649
  //# sourceMappingURL=experteam-mx-ngx-services.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"experteam-mx-ngx-services.mjs","sources":["../../../../projects/experteam-mx/ngx-services/src/lib/ngx-services.module.ts","../../../../projects/experteam-mx/ngx-services/src/lib/helpers/http.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-companies.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-security.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-headers.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-token.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/http-caching.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/public-api.ts","../../../../projects/experteam-mx/ngx-services/src/experteam-mx-ngx-services.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport { Environment } from './ngx-services.models'\r\nimport { HttpClientModule } from '@angular/common/http'\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n HttpClientModule\r\n ],\r\n exports: []\r\n})\r\nexport class NgxServicesModule {\r\n /**\r\n * Returns a module with providers for the NgxServicesModule.\r\n *\r\n * @param {Environment} environment - The environment configuration object.\r\n *\r\n * @return {ModuleWithProviders<NgxServicesModule>} The module with providers for the NgxServicesModule.\r\n */\r\n public static forRoot (environment: Environment): ModuleWithProviders<NgxServicesModule> {\r\n return {\r\n ngModule: NgxServicesModule,\r\n providers: [\r\n {\r\n provide: 'env',\r\n useValue: environment\r\n }\r\n ]\r\n }\r\n }\r\n}\r\n","import { HttpHeaders, HttpParams } from '@angular/common/http'\r\nimport { QueryParams } from '../apis/models/api.models'\r\n\r\n/**\r\n * Convert an object of key-value pairs into a URL query string.\r\n *\r\n * @param {Object} params - The key-value pairs to converted into a query string.\r\n *\r\n * @return {string} - The generated query string.\r\n */\r\nexport const queryString = (params: QueryParams): string => {\r\n let queryElements: string[] = []\r\n\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (Array.isArray(value)) {\r\n const arrayQuery = value\r\n .map((item) => `${encodeURIComponent(key)}=${encodeURIComponent(item as string | number | boolean)}`)\r\n .join('&')\r\n\r\n queryElements.push(arrayQuery)\r\n } else {\r\n const encodedQuery = `${encodeURIComponent(key)}=${encodeURIComponent(value as string | number | boolean)}`\r\n\r\n queryElements.push(encodedQuery)\r\n }\r\n })\r\n\r\n const queryString = queryElements.join('&')\r\n\r\n return queryString.length ? `?${queryString}` : ''\r\n}\r\n\r\n/**\r\n * Creates an instance of HttpParams using the provided params object.\r\n *\r\n * @param {Object} params - The object containing the params to the HttpParams constructor.\r\n *\r\n * @returns {HttpParams} - An instance of HttpParams created from the params object.\r\n */\r\nexport const httpParams = (\r\n params: QueryParams\r\n): HttpParams => new HttpParams({\r\n fromObject: params\r\n})\r\n\r\n/**\r\n * Returns the headers for generating PDF files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating PDF files.\r\n */\r\nexport const pdfHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n 'Accept': 'application/pdf'\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n\r\n/**\r\n * Returns the headers for generating XML files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating XML files.\r\n */\r\nexport const xmlHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n 'Accept': 'application/xml',\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport {\r\n AccountEntitiesData,\r\n CompanyCountriesData,\r\n CompanyCountryData,\r\n CompanyCountryTaxesData, CountryExchangesData,\r\n CountryReferenceCurrenciesData,\r\n CountryReferenceData,\r\n CountryReferencesData,\r\n EmployeeData,\r\n EmployeesData,\r\n ExchangesData,\r\n InstallationData,\r\n InstallationsData,\r\n LocationData,\r\n LocationEmployeesData,\r\n LocationsData,\r\n ParametersData,\r\n ParametersProps,\r\n ParameterValueData,\r\n ParameterValueProps,\r\n SupplyEntitiesData,\r\n WorkflowsData\r\n} from './models/api-companies.types'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { forkJoin, map, mergeMap, Observable } from 'rxjs'\r\nimport { httpParams } from '../helpers/http'\r\nimport { CountryCurrencyRate } from './models/api-companies.interfaces'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiCompaniesService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the companies API from the environment configurations.\r\n *\r\n * @return {string} The URL of the companies API.\r\n */\r\n get url (): string {\r\n return this.environments.apiCompaniesUrl\r\n }\r\n\r\n /**\r\n * Fetches the installations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter the installations query.\r\n * @return {Observable<InstallationsData>} An observable that emits the installations data.\r\n */\r\n getInstallations (params: QueryParams): Observable<InstallationsData> {\r\n return this.http.get<ApiSuccess<InstallationsData>>(`${this.url}/installations`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the installation details based on the given installation ID.\r\n *\r\n * @param {number} id - The unique identifier of the installation to retrieve.\r\n * @returns {Observable<InstallationData>} An observable of the installation details.\r\n */\r\n getInstallation (id: number): Observable<InstallationData> {\r\n return this.http.get<ApiSuccess<InstallationData>>(`${this.url}/installations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of locations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to use for querying locations.\r\n * @return {Observable<LocationsData>} An observable that emits the locations data.\r\n */\r\n getLocations (params: QueryParams): Observable<LocationsData> {\r\n return this.http.get<ApiSuccess<LocationsData>>(`${this.url}/locations`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the location details for a given location ID.\r\n *\r\n * @param {number} id - The unique identifier of the location.\r\n * @return {Observable<LocationData>} An Observable containing the location details.\r\n */\r\n getLocation (id: number): Observable<LocationData> {\r\n return this.http.get<ApiSuccess<LocationData>>(`${this.url}/locations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of active supply entities.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter supply entities.\r\n * @return {Observable<SupplyEntitiesData>} Observable emitting supply entities data.\r\n */\r\n getSupplyEntitiesActive (params: QueryParams): Observable<SupplyEntitiesData> {\r\n return this.http.get<ApiSuccess<SupplyEntitiesData>>(`${this.url}/supply-entities/actives`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a list of employees based on the specified query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and sort the employees.\r\n * @return {Observable<EmployeesData>} An observable that emits the list of employees.\r\n */\r\n getEmployees (params: QueryParams): Observable<EmployeesData> {\r\n return this.http.get<ApiSuccess<EmployeesData>>(`${this.url}/employees`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches an employee's details based on the provided employee ID.\r\n *\r\n * @param {number} id - The unique identifier of the employee.\r\n * @return {Observable<EmployeeData>} An observable that emits the employee's details.\r\n */\r\n getEmployee (id: number): Observable<EmployeeData> {\r\n return this.http.get<ApiSuccess<EmployeeData>>(`${this.url}/employees/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of employees for a specified location based on provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter and retrieve the location employees.\r\n * @returns {Observable<LocationEmployeesData>} An observable that emits the list of employees for the specified location.\r\n */\r\n getLocationEmployees (params: QueryParams): Observable<LocationEmployeesData> {\r\n return this.http.get<ApiSuccess<LocationEmployeesData>>(`${this.url}/location-employees`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of countries where the company operates.\r\n *\r\n * @param {QueryParams} params - The query parameters for the API request.\r\n * @return {Observable<CompanyCountriesData>} An observable containing the list of company countries.\r\n */\r\n getCompanyCountries (params: QueryParams): Observable<CompanyCountriesData> {\r\n return this.http.get<ApiSuccess<CompanyCountriesData>>(`${this.url}/company-countries`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n\r\n /**\r\n * Retrieves the country information for a specified company by its ID.\r\n *\r\n * @param {number} id - The unique identifier of the company.\r\n * @return {Observable<CompanyCountryData>} An observable containing the country information of the company.\r\n */\r\n getCompanyCountry (id: number): Observable<CompanyCountryData> {\r\n return this.http.get<ApiSuccess<CompanyCountryData>>(`${this.url}/company-countries/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the reference currencies for a given country.\r\n *\r\n * @param {QueryParams} params - The query parameters to include in the request.\r\n * @return {Observable<CountryReferenceCurrenciesData>} The observable containing the country reference currencies data.\r\n */\r\n getCountryReferenceCurrencies (params: QueryParams): Observable<CountryReferenceCurrenciesData> {\r\n return this.http.get<ApiSuccess<CountryReferenceCurrenciesData>>(\r\n `${this.url}/country-reference-currencies`,\r\n { params }\r\n ).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of currencies for different countries along with their current exchange rates.\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the country reference currencies.\r\n * @return {Observable<CountryCurrencyRate[]>} An observable that emits an array of country currency rates.\r\n */\r\n getCountryCurrenciesWithRate (params: QueryParams): Observable<CountryCurrencyRate[]> {\r\n return this.getCountryReferenceCurrencies(params)\r\n .pipe(mergeMap((currenciesData) => {\r\n const $observables = currenciesData.country_reference_currencies\r\n .map((country_reference_currency) =>\r\n this.getCurrentExchanges({\r\n currency_id: country_reference_currency.currency.id,\r\n }).pipe(\r\n map((exchangesData) => ({\r\n ...country_reference_currency,\r\n rate: exchangesData.exchanges[0]?.value ?? 1.00,\r\n }))\r\n )\r\n )\r\n\r\n return forkJoin($observables)\r\n }))\r\n }\r\n\r\n /**\r\n * Fetches exchange data based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving exchange data.\r\n * @return {Observable<CountryExchangesData>} An observable containing the exchange data.\r\n */\r\n getExchanges (params: QueryParams): Observable<CountryExchangesData> {\r\n return this.http.get<ApiSuccess<CountryExchangesData>>(`${this.url}/exchanges`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the current exchanges based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the exchanges.\r\n *\r\n * @returns {Observable<ExchangesData>} - An observable that emits the API response data containing the current exchanges.\r\n */\r\n getCurrentExchanges (params: QueryParams): Observable<ExchangesData> {\r\n return this.http.get<ApiSuccess<ExchangesData>>(`${this.url}/exchanges/current`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country-specific tax information for a company.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter and query the taxes.\r\n * @return {Observable<CompanyCountryTaxesData>} An observable that emits the tax information.\r\n */\r\n getCompanyCountryTaxes (params: QueryParams): Observable<CompanyCountryTaxesData> {\r\n return this.http.get<ApiSuccess<CompanyCountryTaxesData>>(`${this.url}/company-country-taxes`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of active account entities based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and query active account entities.\r\n * @return {Observable<AccountEntitiesData>} An observable that emits the list of active account entities.\r\n */\r\n getActiveAccountEntities (params: QueryParams): Observable<AccountEntitiesData> {\r\n return this.http.get<ApiSuccess<AccountEntitiesData>>(`${this.url}/account-entities/actives`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the parameter values based on the provided parameter names.\r\n *\r\n * @param {Object} params - An object containing the required parameters.\r\n * @param {string[]} params.paramNames - An array of parameter names for which the values need to be fetched.\r\n * @return {Observable<ParametersData>} An observable that emits the fetched parameter values.\r\n */\r\n getParameters ({\r\n paramNames,\r\n }: ParametersProps): Observable<ParametersData> {\r\n const parameters = paramNames.map((p) => ({ name: p }))\r\n\r\n return this.http.post<ApiSuccess<ParametersData>>(`${this.url}/parameters-values`, {\r\n parameters\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the value of a specified parameter.\r\n *\r\n * @param {Object} input - The input object containing the parameter details.\r\n * @param {string} input.paramName - The name of the parameter whose value is to be retrieved.\r\n * @return {Observable<ParameterValueData>} An observable emitting the value of the specified parameter.\r\n */\r\n getParameterValue ({\r\n paramName,\r\n }: ParameterValueProps): Observable<ParameterValueData> {\r\n return this.http.get<ApiSuccess<ParameterValueData>>(`${this.url}/parameters-values/${paramName}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of country references based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving country references.\r\n * @return {Observable<CountryReferencesData>} An observable containing the country reference data.\r\n */\r\n getCountryReferences (params: QueryParams): Observable<CountryReferencesData> {\r\n return this.http.get<ApiSuccess<CountryReferencesData>>(`${this.url}/country-references`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country reference data for a given country ID.\r\n *\r\n * @param {number} id - The unique identifier of the country for which the reference data is to be retrieved.\r\n * @return {Observable<CountryReferenceData>} An observable containing the country reference data.\r\n */\r\n getCountryReference (id: number): Observable<CountryReferenceData> {\r\n return this.http.get<ApiSuccess<CountryReferenceData>>(`${this.url}/country-references/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the list of workflows based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter workflows.\r\n * @return {Observable<WorkflowsData>} An observable containing the workflow data.\r\n */\r\n getWorkflows (params: QueryParams): Observable<WorkflowsData> {\r\n return this.http.get<ApiSuccess<WorkflowsData>>(`${this.url}/workflows`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { ApiSuccess } from './models/api.models'\r\nimport {\r\n ChangeLanguageIn,\r\n CreateSessionIn,\r\n CreateSessionOut,\r\n GetUserOut,\r\n LoginIn,\r\n LoginOut,\r\n MeOut\r\n} from './models/api-security.types'\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { map, Observable, tap } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiSecurityService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private cookie: CookieService,\r\n private http: HttpClient,\r\n ) {}\r\n\r\n /**\r\n * Retrieves the API security URL from the environments configuration.\r\n *\r\n * @return {string} The API security URL.\r\n */\r\n get url (): string {\r\n return this.environments.apiSecurityUrl\r\n }\r\n\r\n /**\r\n * Authenticates a user with the provided credentials and role.\r\n *\r\n * @param {Object} param0 - The login input object.\r\n * @param {string} param0.username - The username of the user.\r\n * @param {string} param0.password - The password of the user.\r\n * @param {string} param0.role - The role of the user.\r\n * @return {Observable<LoginOut>} An observable emitting the login output object.\r\n */\r\n login ({\r\n username,\r\n password,\r\n role,\r\n }: LoginIn): Observable<LoginOut> {\r\n return this.http.post<ApiSuccess<LoginOut>>(`${this.url}/auth/login`, {\r\n system_name: 'CRA',\r\n username,\r\n password,\r\n role,\r\n }).pipe(\r\n map(({ data }) => data),\r\n tap(({ access_token }) => this.cookie.set(this.environments.tokenName, access_token, { path: '/' }))\r\n )\r\n }\r\n\r\n /**\r\n * Logs out the current user by making a POST request to the logout endpoint.\r\n *\r\n * This method deletes all cookies after a successful logout.\r\n *\r\n * @return {Observable<{}>} An observable that emits the server's response to the logout request.\r\n */\r\n logout (): Observable<{}> {\r\n return this.http.post<ApiSuccess<{}>>(`${this.url}/auth/logout`, null)\r\n .pipe(\r\n map(({ data }) => data),\r\n tap(() => this.cookie.deleteAll('/'))\r\n )\r\n }\r\n\r\n /**\r\n * Creates a new session for a specified model.\r\n *\r\n * @param {Object} params - The parameters for creating the session.\r\n * @param {string} params.modelType - The type of the model.\r\n * @param {string} params.modelId - The ID of the model.\r\n * @param {string} [params.token] - Optional authorization token.\r\n *\r\n * @return {Observable<CreateSessionOut>} An observable containing the created session details.\r\n */\r\n createSession ({\r\n modelType,\r\n modelId,\r\n token,\r\n }: CreateSessionIn): Observable<CreateSessionOut> {\r\n let headers = new HttpHeaders({})\r\n\r\n if (token)\r\n headers = headers.set('Authorization', `Bearer ${token}`)\r\n\r\n return this.http.post<ApiSuccess<CreateSessionOut>>(\r\n `${this.url}/sessions`, {\r\n model_type: modelType,\r\n model_id: modelId,\r\n }, {\r\n headers\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's information.\r\n * Sends a GET request to the endpoint '/auth/me' to retrieve information\r\n * about the currently authenticated user.\r\n *\r\n * @return {Observable<MeOut>} An observable that emits the authenticated user's data.\r\n */\r\n me (): Observable<MeOut> {\r\n return this.http.get<ApiSuccess<MeOut>>(`${this.url}/auth/me`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's details from the server.\r\n *\r\n * @param token The JWT token used for authorization.\r\n * @return An Observable that emits the user's details encapsulated in a MeOut object.\r\n */\r\n otherMe (token: string): Observable<MeOut> {\r\n return this.http.get<ApiSuccess<MeOut>>(`${this.url}/auth/me`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a user by their unique ID.\r\n *\r\n * @param {number} id - The unique identifier of the user to be fetched.\r\n * @return {Observable<GetUserOut>} An observable containing the user information.\r\n */\r\n user (id: number): Observable<GetUserOut> {\r\n return this.http.get<ApiSuccess<GetUserOut>>(`${this.url}/users/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Changes the language for the authenticated user.\r\n *\r\n * @param {Object} params - The input parameters for changing the language.\r\n * @param {string} params.languageId - The ID of the new language to be set.\r\n * @return {Observable<ApiSuccess<MeOut>>} An observable that emits the result of the language change request.\r\n */\r\n changeLanguage ({\r\n languageId\r\n }: ChangeLanguageIn): Observable<MeOut> {\r\n return this.http.put<ApiSuccess<MeOut>>(`${this.url}/auth/me`, {\r\n language_id: languageId\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\n\r\n@Injectable()\r\nexport class ApiHeadersInterceptor implements HttpInterceptor {\r\n /**\r\n * Intercepts HTTP requests and adds common headers.\r\n *\r\n * @param {HttpRequest<unknown>} request - The HTTP request intercepted.\r\n * @param {HttpHandler} next - The next handler in the chain.\r\n *\r\n * @returns {Observable<HttpEvent<unknown>>} - Observable of the HTTP event after interception.\r\n */\r\n intercept (request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n let headers = new HttpHeaders({\r\n 'cache-control': 'max-age=0, no-cache, no-store, must-revalidate',\r\n 'expires': '0',\r\n 'pragma': 'no-cache'\r\n })\r\n\r\n if (!request.headers.has('Content-Type'))\r\n headers = headers.set('Content-Type', 'application/json')\r\n\r\n if (!request.headers.has('Accept'))\r\n headers = headers.set('Accept', 'application/json')\r\n\r\n if (!request.headers.has('Accept-Language'))\r\n headers = headers.set('Accept-Language', localStorage.getItem('lang') ?? 'en')\r\n\r\n request = request.clone({ headers })\r\n\r\n return next.handle(request)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\n@Injectable()\r\nexport class ApiTokenInterceptor implements HttpInterceptor {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private cookie: CookieService\r\n ) {}\r\n\r\n /**\r\n * Intercepts the HTTP request and adds the Authorization header.\r\n *\r\n * @param {HttpRequest<unknown>} request - The HTTP request to intercept.\r\n * @param {HttpHandler} next - The next HTTP handler in the chain.\r\n *\r\n * @returns {Observable<HttpEvent<unknown>>} - An observable containing the HTTP event.\r\n */\r\n intercept (request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n if (request.headers.has('Authorization') || request.headers.has('AppKey'))\r\n return next.handle(request)\r\n\r\n const token = this.cookie.get(this.environments.tokenName)\r\n\r\n if (!token)\r\n return next.handle(request)\r\n\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n })\r\n\r\n return next.handle(request)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http'\r\n\r\nimport { Observable, of } from 'rxjs'\r\nimport { tap } from 'rxjs/operators'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\nconst DEFAULT_TTL = 10000 // ttl in ms\r\n\r\n@Injectable()\r\nexport class HttpCachingInterceptor implements HttpInterceptor {\r\n private cache = new Map<string, { ttl: number, res: HttpResponse<any> }>()\r\n\r\n constructor (@Inject('env') private envs: Environment) {}\r\n\r\n intercept (req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n if (req.method !== 'GET')\r\n return next.handle(req)\r\n\r\n const cached = this.cache.get(req.urlWithParams)\r\n\r\n if (cached) {\r\n const isExpired = Date.now() > cached.ttl\r\n\r\n if (!isExpired)\r\n return of(cached.res)\r\n\r\n this.cache.delete(req.urlWithParams) // If expired, remove the entry from cache\r\n }\r\n\r\n return next.handle(req).pipe(\r\n tap((res) => {\r\n if (!(res instanceof HttpResponse))\r\n return\r\n\r\n const ttl = Date.now() + (this.envs.cacheTtl ?? DEFAULT_TTL)\r\n\r\n this.cache.set(req.urlWithParams, { res, ttl })\r\n })\r\n )\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-services\r\n */\r\nexport * from './lib/ngx-services.module'\r\n\r\n// api services\r\nexport * from './lib/apis/api-companies.service'\r\nexport * from './lib/apis/api-security.service'\r\n\r\n// api models\r\nexport * from './lib/apis/models/api.models'\r\nexport * from './lib/apis/models/api-companies.interfaces'\r\nexport * from './lib/apis/models/api-companies.types'\r\nexport * from './lib/apis/models/api-security.interfaces'\r\nexport * from './lib/apis/models/api-security.types'\r\n\r\n// interceptors\r\nexport * from './lib/interceptors/api-headers.interceptor'\r\nexport * from './lib/interceptors/api-token.interceptor'\r\nexport * from './lib/interceptors/http-caching.interceptor'\r\n\r\n// helpers\r\nexport * from './lib/helpers/http'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","tap"],"mappings":"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"}
1
+ {"version":3,"file":"experteam-mx-ngx-services.mjs","sources":["../../../../projects/experteam-mx/ngx-services/src/lib/ngx-services.module.ts","../../../../projects/experteam-mx/ngx-services/src/lib/helpers/http.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-companies.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-security.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-shipments.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-headers.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-token.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/http-caching.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/public-api.ts","../../../../projects/experteam-mx/ngx-services/src/experteam-mx-ngx-services.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport { Environment } from './ngx-services.models'\r\nimport { HttpClientModule } from '@angular/common/http'\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n HttpClientModule\r\n ],\r\n exports: []\r\n})\r\nexport class NgxServicesModule {\r\n /**\r\n * Returns a module with providers for the NgxServicesModule.\r\n *\r\n * @param {Environment} environment - The environment configuration object.\r\n *\r\n * @return {ModuleWithProviders<NgxServicesModule>} The module with providers for the NgxServicesModule.\r\n */\r\n public static forRoot (environment: Environment): ModuleWithProviders<NgxServicesModule> {\r\n return {\r\n ngModule: NgxServicesModule,\r\n providers: [\r\n {\r\n provide: 'env',\r\n useValue: environment\r\n }\r\n ]\r\n }\r\n }\r\n}\r\n","import { HttpHeaders, HttpParams } from '@angular/common/http'\r\nimport { QueryParams } from '../apis/models/api.models'\r\n\r\n/**\r\n * Convert an object of key-value pairs into a URL query string.\r\n *\r\n * @param {Object} params - The key-value pairs to converted into a query string.\r\n *\r\n * @return {string} - The generated query string.\r\n */\r\nexport const queryString = (params: QueryParams): string => {\r\n let queryElements: string[] = []\r\n\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (Array.isArray(value)) {\r\n const arrayQuery = value\r\n .map((item) => `${encodeURIComponent(key)}=${encodeURIComponent(item as string | number | boolean)}`)\r\n .join('&')\r\n\r\n queryElements.push(arrayQuery)\r\n } else {\r\n const encodedQuery = `${encodeURIComponent(key)}=${encodeURIComponent(value as string | number | boolean)}`\r\n\r\n queryElements.push(encodedQuery)\r\n }\r\n })\r\n\r\n const queryString = queryElements.join('&')\r\n\r\n return queryString.length ? `?${queryString}` : ''\r\n}\r\n\r\n/**\r\n * Creates an instance of HttpParams using the provided params object.\r\n *\r\n * @param {Object} params - The object containing the params to the HttpParams constructor.\r\n *\r\n * @returns {HttpParams} - An instance of HttpParams created from the params object.\r\n */\r\nexport const httpParams = (\r\n params: QueryParams\r\n): HttpParams => new HttpParams({\r\n fromObject: params\r\n})\r\n\r\n/**\r\n * Returns the headers for generating PDF files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating PDF files.\r\n */\r\nexport const pdfHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n 'Accept': 'application/pdf'\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n\r\n/**\r\n * Returns the headers for generating XML files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating XML files.\r\n */\r\nexport const xmlHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n 'Accept': 'application/xml',\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport {\r\n AccountEntitiesData,\r\n CompanyCountriesData,\r\n CompanyCountryData,\r\n CompanyCountryTaxesData, CountryExchangesData,\r\n CountryReferenceCurrenciesData,\r\n CountryReferenceData,\r\n CountryReferencesData,\r\n EmployeeData,\r\n EmployeesData,\r\n ExchangesData,\r\n InstallationData,\r\n InstallationsData,\r\n LocationData,\r\n LocationEmployeesData,\r\n LocationsData,\r\n ParametersData,\r\n ParametersProps,\r\n ParameterValueData,\r\n ParameterValueProps,\r\n SupplyEntitiesData,\r\n WorkflowsData\r\n} from './models/api-companies.types'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { forkJoin, map, mergeMap, Observable } from 'rxjs'\r\nimport { httpParams } from '../helpers/http'\r\nimport { CountryCurrencyRate } from './models/api-companies.interfaces'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiCompaniesService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the companies API from the environment configurations.\r\n *\r\n * @return {string} The URL of the companies API.\r\n */\r\n get url (): string {\r\n return this.environments.apiCompaniesUrl\r\n }\r\n\r\n /**\r\n * Fetches the installations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter the installations query.\r\n * @return {Observable<InstallationsData>} An observable that emits the installations data.\r\n */\r\n getInstallations (params: QueryParams): Observable<InstallationsData> {\r\n return this.http.get<ApiSuccess<InstallationsData>>(`${this.url}/installations`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the installation details based on the given installation ID.\r\n *\r\n * @param {number} id - The unique identifier of the installation to retrieve.\r\n * @returns {Observable<InstallationData>} An observable of the installation details.\r\n */\r\n getInstallation (id: number): Observable<InstallationData> {\r\n return this.http.get<ApiSuccess<InstallationData>>(`${this.url}/installations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of locations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to use for querying locations.\r\n * @return {Observable<LocationsData>} An observable that emits the locations data.\r\n */\r\n getLocations (params: QueryParams): Observable<LocationsData> {\r\n return this.http.get<ApiSuccess<LocationsData>>(`${this.url}/locations`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the location details for a given location ID.\r\n *\r\n * @param {number} id - The unique identifier of the location.\r\n * @return {Observable<LocationData>} An Observable containing the location details.\r\n */\r\n getLocation (id: number): Observable<LocationData> {\r\n return this.http.get<ApiSuccess<LocationData>>(`${this.url}/locations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of active supply entities.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter supply entities.\r\n * @return {Observable<SupplyEntitiesData>} Observable emitting supply entities data.\r\n */\r\n getSupplyEntitiesActive (params: QueryParams): Observable<SupplyEntitiesData> {\r\n return this.http.get<ApiSuccess<SupplyEntitiesData>>(`${this.url}/supply-entities/actives`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a list of employees based on the specified query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and sort the employees.\r\n * @return {Observable<EmployeesData>} An observable that emits the list of employees.\r\n */\r\n getEmployees (params: QueryParams): Observable<EmployeesData> {\r\n return this.http.get<ApiSuccess<EmployeesData>>(`${this.url}/employees`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches an employee's details based on the provided employee ID.\r\n *\r\n * @param {number} id - The unique identifier of the employee.\r\n * @return {Observable<EmployeeData>} An observable that emits the employee's details.\r\n */\r\n getEmployee (id: number): Observable<EmployeeData> {\r\n return this.http.get<ApiSuccess<EmployeeData>>(`${this.url}/employees/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of employees for a specified location based on provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter and retrieve the location employees.\r\n * @returns {Observable<LocationEmployeesData>} An observable that emits the list of employees for the specified location.\r\n */\r\n getLocationEmployees (params: QueryParams): Observable<LocationEmployeesData> {\r\n return this.http.get<ApiSuccess<LocationEmployeesData>>(`${this.url}/location-employees`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of countries where the company operates.\r\n *\r\n * @param {QueryParams} params - The query parameters for the API request.\r\n * @return {Observable<CompanyCountriesData>} An observable containing the list of company countries.\r\n */\r\n getCompanyCountries (params: QueryParams): Observable<CompanyCountriesData> {\r\n return this.http.get<ApiSuccess<CompanyCountriesData>>(`${this.url}/company-countries`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n\r\n /**\r\n * Retrieves the country information for a specified company by its ID.\r\n *\r\n * @param {number} id - The unique identifier of the company.\r\n * @return {Observable<CompanyCountryData>} An observable containing the country information of the company.\r\n */\r\n getCompanyCountry (id: number): Observable<CompanyCountryData> {\r\n return this.http.get<ApiSuccess<CompanyCountryData>>(`${this.url}/company-countries/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the reference currencies for a given country.\r\n *\r\n * @param {QueryParams} params - The query parameters to include in the request.\r\n * @return {Observable<CountryReferenceCurrenciesData>} The observable containing the country reference currencies data.\r\n */\r\n getCountryReferenceCurrencies (params: QueryParams): Observable<CountryReferenceCurrenciesData> {\r\n return this.http.get<ApiSuccess<CountryReferenceCurrenciesData>>(\r\n `${this.url}/country-reference-currencies`,\r\n { params }\r\n ).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of currencies for different countries along with their current exchange rates.\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the country reference currencies.\r\n * @return {Observable<CountryCurrencyRate[]>} An observable that emits an array of country currency rates.\r\n */\r\n getCountryCurrenciesWithRate (params: QueryParams): Observable<CountryCurrencyRate[]> {\r\n return this.getCountryReferenceCurrencies(params)\r\n .pipe(mergeMap((currenciesData) => {\r\n const $observables = currenciesData.country_reference_currencies\r\n .map((country_reference_currency) =>\r\n this.getCurrentExchanges({\r\n currency_id: country_reference_currency.currency.id,\r\n }).pipe(\r\n map((exchangesData) => ({\r\n ...country_reference_currency,\r\n rate: exchangesData.exchanges[0]?.value,\r\n }))\r\n )\r\n )\r\n\r\n return forkJoin($observables)\r\n }))\r\n }\r\n\r\n /**\r\n * Fetches exchange data based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving exchange data.\r\n * @return {Observable<CountryExchangesData>} An observable containing the exchange data.\r\n */\r\n getExchanges (params: QueryParams): Observable<CountryExchangesData> {\r\n return this.http.get<ApiSuccess<CountryExchangesData>>(`${this.url}/exchanges`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the current exchanges based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the exchanges.\r\n *\r\n * @returns {Observable<ExchangesData>} - An observable that emits the API response data containing the current exchanges.\r\n */\r\n getCurrentExchanges (params: QueryParams): Observable<ExchangesData> {\r\n return this.http.get<ApiSuccess<ExchangesData>>(`${this.url}/exchanges/current`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country-specific tax information for a company.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter and query the taxes.\r\n * @return {Observable<CompanyCountryTaxesData>} An observable that emits the tax information.\r\n */\r\n getCompanyCountryTaxes (params: QueryParams): Observable<CompanyCountryTaxesData> {\r\n return this.http.get<ApiSuccess<CompanyCountryTaxesData>>(`${this.url}/company-country-taxes`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of active account entities based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and query active account entities.\r\n * @return {Observable<AccountEntitiesData>} An observable that emits the list of active account entities.\r\n */\r\n getActiveAccountEntities (params: QueryParams): Observable<AccountEntitiesData> {\r\n return this.http.get<ApiSuccess<AccountEntitiesData>>(`${this.url}/account-entities/actives`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the parameter values based on the provided parameter names.\r\n *\r\n * @param {Object} params - An object containing the required parameters.\r\n * @param {string[]} params.paramNames - An array of parameter names for which the values need to be fetched.\r\n * @return {Observable<ParametersData>} An observable that emits the fetched parameter values.\r\n */\r\n getParameters ({\r\n paramNames,\r\n }: ParametersProps): Observable<ParametersData> {\r\n const parameters = paramNames.map((p) => ({ name: p }))\r\n\r\n return this.http.post<ApiSuccess<ParametersData>>(`${this.url}/parameters-values`, {\r\n parameters\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the value of a specified parameter.\r\n *\r\n * @param {Object} input - The input object containing the parameter details.\r\n * @param {string} input.paramName - The name of the parameter whose value is to be retrieved.\r\n * @return {Observable<ParameterValueData>} An observable emitting the value of the specified parameter.\r\n */\r\n getParameterValue ({\r\n paramName,\r\n }: ParameterValueProps): Observable<ParameterValueData> {\r\n return this.http.get<ApiSuccess<ParameterValueData>>(`${this.url}/parameters-values/${paramName}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of country references based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving country references.\r\n * @return {Observable<CountryReferencesData>} An observable containing the country reference data.\r\n */\r\n getCountryReferences (params: QueryParams): Observable<CountryReferencesData> {\r\n return this.http.get<ApiSuccess<CountryReferencesData>>(`${this.url}/country-references`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country reference data for a given country ID.\r\n *\r\n * @param {number} id - The unique identifier of the country for which the reference data is to be retrieved.\r\n * @return {Observable<CountryReferenceData>} An observable containing the country reference data.\r\n */\r\n getCountryReference (id: number): Observable<CountryReferenceData> {\r\n return this.http.get<ApiSuccess<CountryReferenceData>>(`${this.url}/country-references/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the list of workflows based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter workflows.\r\n * @return {Observable<WorkflowsData>} An observable containing the workflow data.\r\n */\r\n getWorkflows (params: QueryParams): Observable<WorkflowsData> {\r\n return this.http.get<ApiSuccess<WorkflowsData>>(`${this.url}/workflows`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { ApiSuccess } from './models/api.models'\r\nimport {\r\n ChangeLanguageIn,\r\n CreateSessionIn,\r\n CreateSessionOut,\r\n GetUserOut,\r\n LoginIn,\r\n LoginOut,\r\n MeOut\r\n} from './models/api-security.types'\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { map, Observable, tap } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiSecurityService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private cookie: CookieService,\r\n private http: HttpClient,\r\n ) {}\r\n\r\n /**\r\n * Retrieves the API security URL from the environments configuration.\r\n *\r\n * @return {string} The API security URL.\r\n */\r\n get url (): string {\r\n return this.environments.apiSecurityUrl\r\n }\r\n\r\n /**\r\n * Authenticates a user with the provided credentials and role.\r\n *\r\n * @param {Object} param0 - The login input object.\r\n * @param {string} param0.username - The username of the user.\r\n * @param {string} param0.password - The password of the user.\r\n * @param {string} param0.role - The role of the user.\r\n * @return {Observable<LoginOut>} An observable emitting the login output object.\r\n */\r\n login ({\r\n username,\r\n password,\r\n role,\r\n }: LoginIn): Observable<LoginOut> {\r\n return this.http.post<ApiSuccess<LoginOut>>(`${this.url}/auth/login`, {\r\n system_name: 'CRA',\r\n username,\r\n password,\r\n role,\r\n }).pipe(\r\n map(({ data }) => data),\r\n tap(({ access_token }) => this.cookie.set(this.environments.tokenName, access_token, { path: '/' }))\r\n )\r\n }\r\n\r\n /**\r\n * Logs out the current user by making a POST request to the logout endpoint.\r\n *\r\n * This method deletes all cookies after a successful logout.\r\n *\r\n * @return {Observable<{}>} An observable that emits the server's response to the logout request.\r\n */\r\n logout (): Observable<{}> {\r\n return this.http.post<ApiSuccess<{}>>(`${this.url}/auth/logout`, null)\r\n .pipe(\r\n map(({ data }) => data),\r\n tap(() => this.cookie.deleteAll('/'))\r\n )\r\n }\r\n\r\n /**\r\n * Creates a new session for a specified model.\r\n *\r\n * @param {Object} params - The parameters for creating the session.\r\n * @param {string} params.modelType - The type of the model.\r\n * @param {string} params.modelId - The ID of the model.\r\n * @param {string} [params.token] - Optional authorization token.\r\n *\r\n * @return {Observable<CreateSessionOut>} An observable containing the created session details.\r\n */\r\n createSession ({\r\n modelType,\r\n modelId,\r\n token,\r\n }: CreateSessionIn): Observable<CreateSessionOut> {\r\n let headers = new HttpHeaders({})\r\n\r\n if (token)\r\n headers = headers.set('Authorization', `Bearer ${token}`)\r\n\r\n return this.http.post<ApiSuccess<CreateSessionOut>>(\r\n `${this.url}/sessions`, {\r\n model_type: modelType,\r\n model_id: modelId,\r\n }, {\r\n headers\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's information.\r\n * Sends a GET request to the endpoint '/auth/me' to retrieve information\r\n * about the currently authenticated user.\r\n *\r\n * @return {Observable<MeOut>} An observable that emits the authenticated user's data.\r\n */\r\n me (): Observable<MeOut> {\r\n return this.http.get<ApiSuccess<MeOut>>(`${this.url}/auth/me`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's details from the server.\r\n *\r\n * @param token The JWT token used for authorization.\r\n * @return An Observable that emits the user's details encapsulated in a MeOut object.\r\n */\r\n otherMe (token: string): Observable<MeOut> {\r\n return this.http.get<ApiSuccess<MeOut>>(`${this.url}/auth/me`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a user by their unique ID.\r\n *\r\n * @param {number} id - The unique identifier of the user to be fetched.\r\n * @return {Observable<GetUserOut>} An observable containing the user information.\r\n */\r\n user (id: number): Observable<GetUserOut> {\r\n return this.http.get<ApiSuccess<GetUserOut>>(`${this.url}/users/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Changes the language for the authenticated user.\r\n *\r\n * @param {Object} params - The input parameters for changing the language.\r\n * @param {string} params.languageId - The ID of the new language to be set.\r\n * @return {Observable<ApiSuccess<MeOut>>} An observable that emits the result of the language change request.\r\n */\r\n changeLanguage ({\r\n languageId\r\n }: ChangeLanguageIn): Observable<MeOut> {\r\n return this.http.put<ApiSuccess<MeOut>>(`${this.url}/auth/me`, {\r\n language_id: languageId\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, Observable } from 'rxjs'\r\nimport { ApiSuccess } from './models/api.models'\r\nimport { ValidateAccountProps, ValidateAccountData } from './models/api-shipments.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiShipmentsService {\r\n\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the shipments API from the environment configurations.\r\n *\r\n * @return {string} The URL of the shipments API.\r\n */\r\n get url (): string {\r\n return this.environments.apiShipmentUrl\r\n }\r\n\r\n /**\r\n * Retrieves the parameter values based on the provided parameter names.\r\n *\r\n * @param {ValidateAccountProps} body - An object of parameter names for which the values need to be fetched.\r\n * @return {Observable<ParametersData>} An observable that emits the fetched parameter values\r\n * @param body\r\n */\r\n validateAccount (body: ValidateAccountProps): Observable<ValidateAccountData> {\r\n return this.http.post<ApiSuccess<ValidateAccountData>>(`${this.url}/accounts`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\n\r\n@Injectable()\r\nexport class ApiHeadersInterceptor implements HttpInterceptor {\r\n /**\r\n * Intercepts HTTP requests and adds common headers.\r\n *\r\n * @param {HttpRequest<unknown>} request - The HTTP request intercepted.\r\n * @param {HttpHandler} next - The next handler in the chain.\r\n *\r\n * @returns {Observable<HttpEvent<unknown>>} - Observable of the HTTP event after interception.\r\n */\r\n intercept (request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n let headers = new HttpHeaders({\r\n 'cache-control': 'max-age=0, no-cache, no-store, must-revalidate',\r\n 'expires': '0',\r\n 'pragma': 'no-cache'\r\n })\r\n\r\n if (!request.headers.has('Content-Type'))\r\n headers = headers.set('Content-Type', 'application/json')\r\n\r\n if (!request.headers.has('Accept'))\r\n headers = headers.set('Accept', 'application/json')\r\n\r\n if (!request.headers.has('Accept-Language'))\r\n headers = headers.set('Accept-Language', localStorage.getItem('lang') ?? 'en')\r\n\r\n request = request.clone({ headers })\r\n\r\n return next.handle(request)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\n@Injectable()\r\nexport class ApiTokenInterceptor implements HttpInterceptor {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private cookie: CookieService\r\n ) {}\r\n\r\n /**\r\n * Intercepts the HTTP request and adds the Authorization header.\r\n *\r\n * @param {HttpRequest<unknown>} request - The HTTP request to intercept.\r\n * @param {HttpHandler} next - The next HTTP handler in the chain.\r\n *\r\n * @returns {Observable<HttpEvent<unknown>>} - An observable containing the HTTP event.\r\n */\r\n intercept (request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n if (request.headers.has('Authorization') || request.headers.has('AppKey'))\r\n return next.handle(request)\r\n\r\n const token = this.cookie.get(this.environments.tokenName)\r\n\r\n if (!token)\r\n return next.handle(request)\r\n\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n })\r\n\r\n return next.handle(request)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http'\r\n\r\nimport { Observable, of } from 'rxjs'\r\nimport { tap } from 'rxjs/operators'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\nconst DEFAULT_TTL = 10000 // ttl in ms\r\n\r\n@Injectable()\r\nexport class HttpCachingInterceptor implements HttpInterceptor {\r\n private cache = new Map<string, { ttl: number, res: HttpResponse<any> }>()\r\n\r\n constructor (@Inject('env') private envs: Environment) {}\r\n\r\n intercept (req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n if (req.method !== 'GET')\r\n return next.handle(req)\r\n\r\n const cached = this.cache.get(req.urlWithParams)\r\n\r\n if (cached) {\r\n const isExpired = Date.now() > cached.ttl\r\n\r\n if (!isExpired)\r\n return of(cached.res)\r\n\r\n this.cache.delete(req.urlWithParams) // If expired, remove the entry from cache\r\n }\r\n\r\n return next.handle(req).pipe(\r\n tap((res) => {\r\n if (!(res instanceof HttpResponse))\r\n return\r\n\r\n const ttl = Date.now() + (this.envs.cacheTtl ?? DEFAULT_TTL)\r\n\r\n this.cache.set(req.urlWithParams, { res, ttl })\r\n })\r\n )\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-services\r\n */\r\nexport * from './lib/ngx-services.module'\r\n\r\n// api services\r\nexport * from './lib/apis/api-companies.service'\r\nexport * from './lib/apis/api-security.service'\r\nexport * from './lib/apis/api-shipments.service'\r\n\r\n// api models\r\nexport * from './lib/apis/models/api-companies.interfaces'\r\nexport * from './lib/apis/models/api-companies.types'\r\nexport * from './lib/apis/models/api-security.interfaces'\r\nexport * from './lib/apis/models/api-security.types'\r\nexport * from './lib/apis/models/api-shipments.types'\r\nexport * from './lib/apis/models/api.models'\r\n\r\n// interceptors\r\nexport * from './lib/interceptors/api-headers.interceptor'\r\nexport * from './lib/interceptors/api-token.interceptor'\r\nexport * from './lib/interceptors/http-caching.interceptor'\r\n\r\n// helpers\r\nexport * from './lib/helpers/http'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","tap"],"mappings":";;;;;;;;MAWa,iBAAiB,CAAA;AAC5B;;;;;;AAMG;IACI,OAAO,OAAO,CAAE,WAAwB,EAAA;QAC7C,OAAO;AACL,YAAA,QAAQ,EAAE,iBAAiB;AAC3B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,QAAQ,EAAE,WAAW;AACtB,iBAAA;AACF,aAAA;SACF,CAAA;KACF;;+GAlBU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAJ1B,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAIP,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAJ1B,gBAAgB,CAAA,EAAA,CAAA,CAAA;4FAIP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,gBAAgB;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;iBACZ,CAAA;;;ACPD;;;;;;AAMG;AACU,MAAA,WAAW,GAAG,CAAC,MAAmB,KAAY;IACzD,IAAI,aAAa,GAAa,EAAE,CAAA;AAEhC,IAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAC9C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM,UAAU,GAAG,KAAK;AACrB,iBAAA,GAAG,CAAC,CAAC,IAAI,KAAK,CAAG,EAAA,kBAAkB,CAAC,GAAG,CAAC,CAAI,CAAA,EAAA,kBAAkB,CAAC,IAAiC,CAAC,EAAE,CAAC;iBACpG,IAAI,CAAC,GAAG,CAAC,CAAA;AAEZ,YAAA,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC/B,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,YAAY,GAAG,CAAG,EAAA,kBAAkB,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,kBAAkB,CAAC,KAAkC,CAAC,EAAE,CAAA;AAE3G,YAAA,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AACjC,SAAA;AACH,KAAC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE3C,IAAA,OAAO,WAAW,CAAC,MAAM,GAAG,CAAI,CAAA,EAAA,WAAW,CAAE,CAAA,GAAG,EAAE,CAAA;AACpD,EAAC;AAED;;;;;;AAMG;AACU,MAAA,UAAU,GAAG,CACxB,MAAmB,KACJ,IAAI,UAAU,CAAC;AAC9B,IAAA,UAAU,EAAE,MAAM;AACnB,CAAA,EAAC;AAEF;;;;;;AAMG;MACU,UAAU,GAAG,CAAC,MAAmC,GAAA,QAAQ,KAA2D;AAC/H,IAAA,MAAM,OAAO,GAAG;AACd,QAAA,QAAQ,EAAE,iBAAiB;KAC5B,CAAA;IAED,OAAO,MAAM,KAAK,QAAQ;AACxB,UAAE,OAAO;AACT,UAAE,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;AAC9B,EAAC;AAED;;;;;;AAMG;MACU,UAAU,GAAG,CAAC,MAAmC,GAAA,QAAQ,KAA2D;AAC/H,IAAA,MAAM,OAAO,GAAG;AACd,QAAA,QAAQ,EAAE,iBAAiB;KAC5B,CAAA;IAED,OAAO,MAAM,KAAK,QAAQ;AACxB,UAAE,OAAO;AACT,UAAE,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;AAC9B;;MC3Ca,mBAAmB,CAAA;IAC9B,WACyB,CAAA,YAAyB,EACxC,IAAgB,EAAA;AADD,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAa;AACxC,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KACrB;AAEL;;;;AAIG;AACH,IAAA,IAAI,GAAG,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAA;KACzC;AAED;;;;;AAKG;AACH,IAAA,gBAAgB,CAAE,MAAmB,EAAA;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,cAAA,CAAgB,EAAE;AAC/E,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,eAAe,CAAE,EAAU,EAAA;AACzB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA+B,CAAG,EAAA,IAAI,CAAC,GAAG,CAAkB,eAAA,EAAA,EAAE,EAAE,CAAC;AAClF,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,YAAY,CAAE,MAAmB,EAAA;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,UAAA,CAAY,EAAE;AACvE,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,WAAW,CAAE,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA2B,CAAG,EAAA,IAAI,CAAC,GAAG,CAAc,WAAA,EAAA,EAAE,EAAE,CAAC;AAC1E,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,uBAAuB,CAAE,MAAmB,EAAA;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,wBAAA,CAA0B,EAAE;AAC1F,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,YAAY,CAAE,MAAmB,EAAA;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,UAAA,CAAY,EAAE;AACvE,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,WAAW,CAAE,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA2B,CAAG,EAAA,IAAI,CAAC,GAAG,CAAc,WAAA,EAAA,EAAE,EAAE,CAAC;AAC1E,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,oBAAoB,CAAE,MAAmB,EAAA;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,mBAAA,CAAqB,EAAE;AACxF,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,mBAAmB,CAAE,MAAmB,EAAA;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,kBAAA,CAAoB,EAAE;AACtF,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAGD;;;;;AAKG;AACH,IAAA,iBAAiB,CAAE,EAAU,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiC,CAAG,EAAA,IAAI,CAAC,GAAG,CAAsB,mBAAA,EAAA,EAAE,EAAE,CAAC;AACxF,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,6BAA6B,CAAE,MAAmB,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,GAAG,CAA+B,6BAAA,CAAA,EAC1C,EAAE,MAAM,EAAE,CACX,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KAChC;AAED;;;;;AAKG;AACH,IAAA,4BAA4B,CAAE,MAAmB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC;AAC9C,aAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,cAAc,KAAI;AAChC,YAAA,MAAM,YAAY,GAAG,cAAc,CAAC,4BAA4B;iBAC7D,GAAG,CAAC,CAAC,0BAA0B,KAC9B,IAAI,CAAC,mBAAmB,CAAC;AACvB,gBAAA,WAAW,EAAE,0BAA0B,CAAC,QAAQ,CAAC,EAAE;aACpD,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,aAAa,KAAI;;AAAC,gBAAA,QAClB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,0BAA0B,CAC7B,EAAA,EAAA,IAAI,EAAE,CAAA,EAAA,GAAA,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,KACvC;aAAA,CAAC,CACJ,CACF,CAAA;AAEH,YAAA,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAA;SAC9B,CAAC,CAAC,CAAA;KACN;AAED;;;;;AAKG;AACH,IAAA,YAAY,CAAE,MAAmB,EAAA;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,UAAA,CAAY,EAAE;AAC9E,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;;AAMG;AACH,IAAA,mBAAmB,CAAE,MAAmB,EAAA;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,kBAAA,CAAoB,EAAE;AAC/E,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,sBAAsB,CAAE,MAAmB,EAAA;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,sBAAA,CAAwB,EAAE;AAC7F,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,wBAAwB,CAAE,MAAmB,EAAA;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,yBAAA,CAA2B,EAAE;AAC5F,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;;AAMG;IACH,aAAa,CAAE,EACb,UAAU,GACM,EAAA;AAChB,QAAA,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAEvD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA6B,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,kBAAA,CAAoB,EAAE;YACjF,UAAU;AACX,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;;AAMG;IACH,iBAAiB,CAAE,EACjB,SAAS,GACW,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiC,CAAG,EAAA,IAAI,CAAC,GAAG,CAAsB,mBAAA,EAAA,SAAS,EAAE,CAAC;AAC/F,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,oBAAoB,CAAE,MAAmB,EAAA;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoC,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,mBAAA,CAAqB,EAAE;AACxF,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,mBAAmB,CAAE,EAAU,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmC,CAAG,EAAA,IAAI,CAAC,GAAG,CAAuB,oBAAA,EAAA,EAAE,EAAE,CAAC;AAC3F,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,YAAY,CAAE,MAAmB,EAAA;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,UAAA,CAAY,EAAE;AACvE,YAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;AAC3B,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;;AA3RU,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAEpB,KAAK,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFJ,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAGI,MAAM;+BAAC,KAAK,CAAA;;;;MCjBJ,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CACyB,YAAyB,EACxC,MAAqB,EACrB,IAAgB,EAAA;AAFD,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAa;AACxC,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;AACrB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KACtB;AAEJ;;;;AAIG;AACH,IAAA,IAAI,GAAG,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAA;KACxC;AAED;;;;;;;;AAQG;AACH,IAAA,KAAK,CAAE,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,GACI,EAAA;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuB,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,WAAA,CAAa,EAAE;AACpE,YAAA,WAAW,EAAE,KAAK;YAClB,QAAQ;YACR,QAAQ;YACR,IAAI;SACL,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,EACvB,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CACrG,CAAA;KACF;AAED;;;;;;AAMG;IACH,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAiB,CAAG,EAAA,IAAI,CAAC,GAAG,CAAc,YAAA,CAAA,EAAE,IAAI,CAAC;AACnE,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,EACvB,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CACtC,CAAA;KACJ;AAED;;;;;;;;;AASG;AACH,IAAA,aAAa,CAAE,EACb,SAAS,EACT,OAAO,EACP,KAAK,GACW,EAAA;AAChB,QAAA,IAAI,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAA;AAEjC,QAAA,IAAI,KAAK;YACP,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAU,OAAA,EAAA,KAAK,CAAE,CAAA,CAAC,CAAA;QAE3D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,SAAA,CAAW,EAAE;AACtB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,QAAQ,EAAE,OAAO;SAClB,EAAE;YACD,OAAO;AACR,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACnC;AAED;;;;;;AAMG;IACH,EAAE,GAAA;QACA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,QAAA,CAAU,CAAC;AAC3D,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,OAAO,CAAE,KAAa,EAAA;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,QAAA,CAAU,EAAE;AAC7D,YAAA,OAAO,EAAE;gBACP,aAAa,EAAE,CAAU,OAAA,EAAA,KAAK,CAAE,CAAA;AACjC,aAAA;AACF,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;AAKG;AACH,IAAA,IAAI,CAAE,EAAU,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAyB,CAAG,EAAA,IAAI,CAAC,GAAG,CAAU,OAAA,EAAA,EAAE,EAAE,CAAC;AACpE,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;AAED;;;;;;AAMG;IACH,cAAc,CAAE,EACd,UAAU,EACO,EAAA;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,CAAA,EAAG,IAAI,CAAC,GAAG,CAAA,QAAA,CAAU,EAAE;AAC7D,YAAA,WAAW,EAAE,UAAU;AACxB,SAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;;AAvIU,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAEnB,KAAK,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFJ,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAGI,MAAM;+BAAC,KAAK,CAAA;;;;MCXJ,mBAAmB,CAAA;IAE9B,WACyB,CAAA,YAAyB,EACxC,IAAgB,EAAA;AADD,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAa;AACxC,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KACrB;AAEL;;;;AAIG;AACH,IAAA,IAAI,GAAG,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAA;KACxC;AAED;;;;;;AAMG;AACH,IAAA,eAAe,CAAE,IAA0B,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkC,CAAG,EAAA,IAAI,CAAC,GAAG,CAAW,SAAA,CAAA,EAAE,IAAI,CAAC;AACjF,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;KACjC;;AA1BU,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAGpB,KAAK,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHJ,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAII,MAAM;+BAAC,KAAK,CAAA;;;;MCRJ,qBAAqB,CAAA;AAChC;;;;;;;AAOG;IACH,SAAS,CAAE,OAA6B,EAAE,IAAiB,EAAA;;AACzD,QAAA,IAAI,OAAO,GAAG,IAAI,WAAW,CAAC;AAC5B,YAAA,eAAe,EAAE,gDAAgD;AACjE,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,QAAQ,EAAE,UAAU;AACrB,SAAA,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YACtC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;QAE3D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;QAErD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACzC,YAAA,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAA,EAAA,GAAA,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC,CAAA;QAEhF,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;AAEpC,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KAC5B;;mHA5BU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;uHAArB,qBAAqB,EAAA,CAAA,CAAA;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;;MCGE,mBAAmB,CAAA;IAC9B,WACyB,CAAA,YAAyB,EACxC,MAAqB,EAAA;AADN,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAa;AACxC,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;KAC3B;AAEJ;;;;;;;AAOG;IACH,SAAS,CAAE,OAA6B,EAAE,IAAiB,EAAA;AACzD,QAAA,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvE,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAE7B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;AAE1D,QAAA,IAAI,CAAC,KAAK;AACR,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAE7B,QAAA,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;AACtB,YAAA,UAAU,EAAE;gBACV,aAAa,EAAE,CAAU,OAAA,EAAA,KAAK,CAAE,CAAA;AACjC,aAAA;AACF,SAAA,CAAC,CAAA;AAEF,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KAC5B;;AA9BU,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAEpB,KAAK,EAAA,EAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qHAFJ,mBAAmB,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;;8BAGN,MAAM;+BAAC,KAAK,CAAA;;;;ACFjB,MAAM,WAAW,GAAG,KAAK,CAAA;MAGZ,sBAAsB,CAAA;AAGjC,IAAA,WAAA,CAAoC,IAAiB,EAAA;AAAjB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAa;AAF7C,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,GAAG,EAAmD,CAAA;KAEjB;IAEzD,SAAS,CAAE,GAAqB,EAAE,IAAiB,EAAA;AACjD,QAAA,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK;AACtB,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAEzB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;AAEhD,QAAA,IAAI,MAAM,EAAE;YACV,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAA;AAEzC,YAAA,IAAI,CAAC,SAAS;AACZ,gBAAA,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAEvB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;AACrC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1BE,KAAG,CAAC,CAAC,GAAG,KAAI;;AACV,YAAA,IAAI,EAAE,GAAG,YAAY,YAAY,CAAC;gBAChC,OAAM;AAER,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,WAAW,CAAC,CAAA;AAE5D,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;SAChD,CAAC,CACH,CAAA;KACF;;AA9BU,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAGZ,KAAK,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wHAHf,sBAAsB,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;;8BAIK,MAAM;+BAAC,KAAK,CAAA;;;;ACb5B;;AAEG;;ACFH;;AAEG;;;;"}
@@ -247,7 +247,7 @@ class ApiCompaniesService {
247
247
  currency_id: country_reference_currency.currency.id,
248
248
  }).pipe(map((exchangesData) => ({
249
249
  ...country_reference_currency,
250
- rate: exchangesData.exchanges[0]?.value ?? 1.00,
250
+ rate: exchangesData.exchanges[0]?.value,
251
251
  }))));
252
252
  return forkJoin($observables);
253
253
  }));
@@ -488,6 +488,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
488
488
  args: ['env']
489
489
  }] }, { type: i1$1.CookieService }, { type: i1.HttpClient }]; } });
490
490
 
491
+ class ApiShipmentsService {
492
+ constructor(environments, http) {
493
+ this.environments = environments;
494
+ this.http = http;
495
+ }
496
+ /**
497
+ * Retrieves the URL for the shipments API from the environment configurations.
498
+ *
499
+ * @return {string} The URL of the shipments API.
500
+ */
501
+ get url() {
502
+ return this.environments.apiShipmentUrl;
503
+ }
504
+ /**
505
+ * Retrieves the parameter values based on the provided parameter names.
506
+ *
507
+ * @param {ValidateAccountProps} body - An object of parameter names for which the values need to be fetched.
508
+ * @return {Observable<ParametersData>} An observable that emits the fetched parameter values
509
+ * @param body
510
+ */
511
+ validateAccount(body) {
512
+ return this.http.post(`${this.url}/accounts`, body)
513
+ .pipe(map(({ data }) => data));
514
+ }
515
+ }
516
+ ApiShipmentsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiShipmentsService, deps: [{ token: 'env' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
517
+ ApiShipmentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiShipmentsService, providedIn: 'root' });
518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiShipmentsService, decorators: [{
519
+ type: Injectable,
520
+ args: [{
521
+ providedIn: 'root'
522
+ }]
523
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
524
+ type: Inject,
525
+ args: ['env']
526
+ }] }, { type: i1.HttpClient }]; } });
527
+
491
528
  class ApiHeadersInterceptor {
492
529
  /**
493
530
  * Intercepts HTTP requests and adds common headers.
@@ -596,5 +633,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
596
633
  * Generated bundle index. Do not edit.
597
634
  */
598
635
 
599
- export { ApiCompaniesService, ApiHeadersInterceptor, ApiSecurityService, ApiTokenInterceptor, HttpCachingInterceptor, NgxServicesModule, httpParams, pdfHeaders, queryString, xmlHeaders };
636
+ export { ApiCompaniesService, ApiHeadersInterceptor, ApiSecurityService, ApiShipmentsService, ApiTokenInterceptor, HttpCachingInterceptor, NgxServicesModule, httpParams, pdfHeaders, queryString, xmlHeaders };
600
637
  //# sourceMappingURL=experteam-mx-ngx-services.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"experteam-mx-ngx-services.mjs","sources":["../../../../projects/experteam-mx/ngx-services/src/lib/ngx-services.module.ts","../../../../projects/experteam-mx/ngx-services/src/lib/helpers/http.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-companies.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-security.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-headers.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-token.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/http-caching.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/public-api.ts","../../../../projects/experteam-mx/ngx-services/src/experteam-mx-ngx-services.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport { Environment } from './ngx-services.models'\r\nimport { HttpClientModule } from '@angular/common/http'\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n HttpClientModule\r\n ],\r\n exports: []\r\n})\r\nexport class NgxServicesModule {\r\n /**\r\n * Returns a module with providers for the NgxServicesModule.\r\n *\r\n * @param {Environment} environment - The environment configuration object.\r\n *\r\n * @return {ModuleWithProviders<NgxServicesModule>} The module with providers for the NgxServicesModule.\r\n */\r\n public static forRoot (environment: Environment): ModuleWithProviders<NgxServicesModule> {\r\n return {\r\n ngModule: NgxServicesModule,\r\n providers: [\r\n {\r\n provide: 'env',\r\n useValue: environment\r\n }\r\n ]\r\n }\r\n }\r\n}\r\n","import { HttpHeaders, HttpParams } from '@angular/common/http'\r\nimport { QueryParams } from '../apis/models/api.models'\r\n\r\n/**\r\n * Convert an object of key-value pairs into a URL query string.\r\n *\r\n * @param {Object} params - The key-value pairs to converted into a query string.\r\n *\r\n * @return {string} - The generated query string.\r\n */\r\nexport const queryString = (params: QueryParams): string => {\r\n let queryElements: string[] = []\r\n\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (Array.isArray(value)) {\r\n const arrayQuery = value\r\n .map((item) => `${encodeURIComponent(key)}=${encodeURIComponent(item as string | number | boolean)}`)\r\n .join('&')\r\n\r\n queryElements.push(arrayQuery)\r\n } else {\r\n const encodedQuery = `${encodeURIComponent(key)}=${encodeURIComponent(value as string | number | boolean)}`\r\n\r\n queryElements.push(encodedQuery)\r\n }\r\n })\r\n\r\n const queryString = queryElements.join('&')\r\n\r\n return queryString.length ? `?${queryString}` : ''\r\n}\r\n\r\n/**\r\n * Creates an instance of HttpParams using the provided params object.\r\n *\r\n * @param {Object} params - The object containing the params to the HttpParams constructor.\r\n *\r\n * @returns {HttpParams} - An instance of HttpParams created from the params object.\r\n */\r\nexport const httpParams = (\r\n params: QueryParams\r\n): HttpParams => new HttpParams({\r\n fromObject: params\r\n})\r\n\r\n/**\r\n * Returns the headers for generating PDF files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating PDF files.\r\n */\r\nexport const pdfHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n 'Accept': 'application/pdf'\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n\r\n/**\r\n * Returns the headers for generating XML files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating XML files.\r\n */\r\nexport const xmlHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n 'Accept': 'application/xml',\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport {\r\n AccountEntitiesData,\r\n CompanyCountriesData,\r\n CompanyCountryData,\r\n CompanyCountryTaxesData, CountryExchangesData,\r\n CountryReferenceCurrenciesData,\r\n CountryReferenceData,\r\n CountryReferencesData,\r\n EmployeeData,\r\n EmployeesData,\r\n ExchangesData,\r\n InstallationData,\r\n InstallationsData,\r\n LocationData,\r\n LocationEmployeesData,\r\n LocationsData,\r\n ParametersData,\r\n ParametersProps,\r\n ParameterValueData,\r\n ParameterValueProps,\r\n SupplyEntitiesData,\r\n WorkflowsData\r\n} from './models/api-companies.types'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { forkJoin, map, mergeMap, Observable } from 'rxjs'\r\nimport { httpParams } from '../helpers/http'\r\nimport { CountryCurrencyRate } from './models/api-companies.interfaces'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiCompaniesService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the companies API from the environment configurations.\r\n *\r\n * @return {string} The URL of the companies API.\r\n */\r\n get url (): string {\r\n return this.environments.apiCompaniesUrl\r\n }\r\n\r\n /**\r\n * Fetches the installations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter the installations query.\r\n * @return {Observable<InstallationsData>} An observable that emits the installations data.\r\n */\r\n getInstallations (params: QueryParams): Observable<InstallationsData> {\r\n return this.http.get<ApiSuccess<InstallationsData>>(`${this.url}/installations`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the installation details based on the given installation ID.\r\n *\r\n * @param {number} id - The unique identifier of the installation to retrieve.\r\n * @returns {Observable<InstallationData>} An observable of the installation details.\r\n */\r\n getInstallation (id: number): Observable<InstallationData> {\r\n return this.http.get<ApiSuccess<InstallationData>>(`${this.url}/installations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of locations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to use for querying locations.\r\n * @return {Observable<LocationsData>} An observable that emits the locations data.\r\n */\r\n getLocations (params: QueryParams): Observable<LocationsData> {\r\n return this.http.get<ApiSuccess<LocationsData>>(`${this.url}/locations`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the location details for a given location ID.\r\n *\r\n * @param {number} id - The unique identifier of the location.\r\n * @return {Observable<LocationData>} An Observable containing the location details.\r\n */\r\n getLocation (id: number): Observable<LocationData> {\r\n return this.http.get<ApiSuccess<LocationData>>(`${this.url}/locations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of active supply entities.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter supply entities.\r\n * @return {Observable<SupplyEntitiesData>} Observable emitting supply entities data.\r\n */\r\n getSupplyEntitiesActive (params: QueryParams): Observable<SupplyEntitiesData> {\r\n return this.http.get<ApiSuccess<SupplyEntitiesData>>(`${this.url}/supply-entities/actives`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a list of employees based on the specified query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and sort the employees.\r\n * @return {Observable<EmployeesData>} An observable that emits the list of employees.\r\n */\r\n getEmployees (params: QueryParams): Observable<EmployeesData> {\r\n return this.http.get<ApiSuccess<EmployeesData>>(`${this.url}/employees`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches an employee's details based on the provided employee ID.\r\n *\r\n * @param {number} id - The unique identifier of the employee.\r\n * @return {Observable<EmployeeData>} An observable that emits the employee's details.\r\n */\r\n getEmployee (id: number): Observable<EmployeeData> {\r\n return this.http.get<ApiSuccess<EmployeeData>>(`${this.url}/employees/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of employees for a specified location based on provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter and retrieve the location employees.\r\n * @returns {Observable<LocationEmployeesData>} An observable that emits the list of employees for the specified location.\r\n */\r\n getLocationEmployees (params: QueryParams): Observable<LocationEmployeesData> {\r\n return this.http.get<ApiSuccess<LocationEmployeesData>>(`${this.url}/location-employees`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of countries where the company operates.\r\n *\r\n * @param {QueryParams} params - The query parameters for the API request.\r\n * @return {Observable<CompanyCountriesData>} An observable containing the list of company countries.\r\n */\r\n getCompanyCountries (params: QueryParams): Observable<CompanyCountriesData> {\r\n return this.http.get<ApiSuccess<CompanyCountriesData>>(`${this.url}/company-countries`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n\r\n /**\r\n * Retrieves the country information for a specified company by its ID.\r\n *\r\n * @param {number} id - The unique identifier of the company.\r\n * @return {Observable<CompanyCountryData>} An observable containing the country information of the company.\r\n */\r\n getCompanyCountry (id: number): Observable<CompanyCountryData> {\r\n return this.http.get<ApiSuccess<CompanyCountryData>>(`${this.url}/company-countries/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the reference currencies for a given country.\r\n *\r\n * @param {QueryParams} params - The query parameters to include in the request.\r\n * @return {Observable<CountryReferenceCurrenciesData>} The observable containing the country reference currencies data.\r\n */\r\n getCountryReferenceCurrencies (params: QueryParams): Observable<CountryReferenceCurrenciesData> {\r\n return this.http.get<ApiSuccess<CountryReferenceCurrenciesData>>(\r\n `${this.url}/country-reference-currencies`,\r\n { params }\r\n ).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of currencies for different countries along with their current exchange rates.\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the country reference currencies.\r\n * @return {Observable<CountryCurrencyRate[]>} An observable that emits an array of country currency rates.\r\n */\r\n getCountryCurrenciesWithRate (params: QueryParams): Observable<CountryCurrencyRate[]> {\r\n return this.getCountryReferenceCurrencies(params)\r\n .pipe(mergeMap((currenciesData) => {\r\n const $observables = currenciesData.country_reference_currencies\r\n .map((country_reference_currency) =>\r\n this.getCurrentExchanges({\r\n currency_id: country_reference_currency.currency.id,\r\n }).pipe(\r\n map((exchangesData) => ({\r\n ...country_reference_currency,\r\n rate: exchangesData.exchanges[0]?.value ?? 1.00,\r\n }))\r\n )\r\n )\r\n\r\n return forkJoin($observables)\r\n }))\r\n }\r\n\r\n /**\r\n * Fetches exchange data based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving exchange data.\r\n * @return {Observable<CountryExchangesData>} An observable containing the exchange data.\r\n */\r\n getExchanges (params: QueryParams): Observable<CountryExchangesData> {\r\n return this.http.get<ApiSuccess<CountryExchangesData>>(`${this.url}/exchanges`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the current exchanges based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the exchanges.\r\n *\r\n * @returns {Observable<ExchangesData>} - An observable that emits the API response data containing the current exchanges.\r\n */\r\n getCurrentExchanges (params: QueryParams): Observable<ExchangesData> {\r\n return this.http.get<ApiSuccess<ExchangesData>>(`${this.url}/exchanges/current`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country-specific tax information for a company.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter and query the taxes.\r\n * @return {Observable<CompanyCountryTaxesData>} An observable that emits the tax information.\r\n */\r\n getCompanyCountryTaxes (params: QueryParams): Observable<CompanyCountryTaxesData> {\r\n return this.http.get<ApiSuccess<CompanyCountryTaxesData>>(`${this.url}/company-country-taxes`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of active account entities based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and query active account entities.\r\n * @return {Observable<AccountEntitiesData>} An observable that emits the list of active account entities.\r\n */\r\n getActiveAccountEntities (params: QueryParams): Observable<AccountEntitiesData> {\r\n return this.http.get<ApiSuccess<AccountEntitiesData>>(`${this.url}/account-entities/actives`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the parameter values based on the provided parameter names.\r\n *\r\n * @param {Object} params - An object containing the required parameters.\r\n * @param {string[]} params.paramNames - An array of parameter names for which the values need to be fetched.\r\n * @return {Observable<ParametersData>} An observable that emits the fetched parameter values.\r\n */\r\n getParameters ({\r\n paramNames,\r\n }: ParametersProps): Observable<ParametersData> {\r\n const parameters = paramNames.map((p) => ({ name: p }))\r\n\r\n return this.http.post<ApiSuccess<ParametersData>>(`${this.url}/parameters-values`, {\r\n parameters\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the value of a specified parameter.\r\n *\r\n * @param {Object} input - The input object containing the parameter details.\r\n * @param {string} input.paramName - The name of the parameter whose value is to be retrieved.\r\n * @return {Observable<ParameterValueData>} An observable emitting the value of the specified parameter.\r\n */\r\n getParameterValue ({\r\n paramName,\r\n }: ParameterValueProps): Observable<ParameterValueData> {\r\n return this.http.get<ApiSuccess<ParameterValueData>>(`${this.url}/parameters-values/${paramName}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of country references based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving country references.\r\n * @return {Observable<CountryReferencesData>} An observable containing the country reference data.\r\n */\r\n getCountryReferences (params: QueryParams): Observable<CountryReferencesData> {\r\n return this.http.get<ApiSuccess<CountryReferencesData>>(`${this.url}/country-references`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country reference data for a given country ID.\r\n *\r\n * @param {number} id - The unique identifier of the country for which the reference data is to be retrieved.\r\n * @return {Observable<CountryReferenceData>} An observable containing the country reference data.\r\n */\r\n getCountryReference (id: number): Observable<CountryReferenceData> {\r\n return this.http.get<ApiSuccess<CountryReferenceData>>(`${this.url}/country-references/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the list of workflows based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter workflows.\r\n * @return {Observable<WorkflowsData>} An observable containing the workflow data.\r\n */\r\n getWorkflows (params: QueryParams): Observable<WorkflowsData> {\r\n return this.http.get<ApiSuccess<WorkflowsData>>(`${this.url}/workflows`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { ApiSuccess } from './models/api.models'\r\nimport {\r\n ChangeLanguageIn,\r\n CreateSessionIn,\r\n CreateSessionOut,\r\n GetUserOut,\r\n LoginIn,\r\n LoginOut,\r\n MeOut\r\n} from './models/api-security.types'\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { map, Observable, tap } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiSecurityService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private cookie: CookieService,\r\n private http: HttpClient,\r\n ) {}\r\n\r\n /**\r\n * Retrieves the API security URL from the environments configuration.\r\n *\r\n * @return {string} The API security URL.\r\n */\r\n get url (): string {\r\n return this.environments.apiSecurityUrl\r\n }\r\n\r\n /**\r\n * Authenticates a user with the provided credentials and role.\r\n *\r\n * @param {Object} param0 - The login input object.\r\n * @param {string} param0.username - The username of the user.\r\n * @param {string} param0.password - The password of the user.\r\n * @param {string} param0.role - The role of the user.\r\n * @return {Observable<LoginOut>} An observable emitting the login output object.\r\n */\r\n login ({\r\n username,\r\n password,\r\n role,\r\n }: LoginIn): Observable<LoginOut> {\r\n return this.http.post<ApiSuccess<LoginOut>>(`${this.url}/auth/login`, {\r\n system_name: 'CRA',\r\n username,\r\n password,\r\n role,\r\n }).pipe(\r\n map(({ data }) => data),\r\n tap(({ access_token }) => this.cookie.set(this.environments.tokenName, access_token, { path: '/' }))\r\n )\r\n }\r\n\r\n /**\r\n * Logs out the current user by making a POST request to the logout endpoint.\r\n *\r\n * This method deletes all cookies after a successful logout.\r\n *\r\n * @return {Observable<{}>} An observable that emits the server's response to the logout request.\r\n */\r\n logout (): Observable<{}> {\r\n return this.http.post<ApiSuccess<{}>>(`${this.url}/auth/logout`, null)\r\n .pipe(\r\n map(({ data }) => data),\r\n tap(() => this.cookie.deleteAll('/'))\r\n )\r\n }\r\n\r\n /**\r\n * Creates a new session for a specified model.\r\n *\r\n * @param {Object} params - The parameters for creating the session.\r\n * @param {string} params.modelType - The type of the model.\r\n * @param {string} params.modelId - The ID of the model.\r\n * @param {string} [params.token] - Optional authorization token.\r\n *\r\n * @return {Observable<CreateSessionOut>} An observable containing the created session details.\r\n */\r\n createSession ({\r\n modelType,\r\n modelId,\r\n token,\r\n }: CreateSessionIn): Observable<CreateSessionOut> {\r\n let headers = new HttpHeaders({})\r\n\r\n if (token)\r\n headers = headers.set('Authorization', `Bearer ${token}`)\r\n\r\n return this.http.post<ApiSuccess<CreateSessionOut>>(\r\n `${this.url}/sessions`, {\r\n model_type: modelType,\r\n model_id: modelId,\r\n }, {\r\n headers\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's information.\r\n * Sends a GET request to the endpoint '/auth/me' to retrieve information\r\n * about the currently authenticated user.\r\n *\r\n * @return {Observable<MeOut>} An observable that emits the authenticated user's data.\r\n */\r\n me (): Observable<MeOut> {\r\n return this.http.get<ApiSuccess<MeOut>>(`${this.url}/auth/me`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's details from the server.\r\n *\r\n * @param token The JWT token used for authorization.\r\n * @return An Observable that emits the user's details encapsulated in a MeOut object.\r\n */\r\n otherMe (token: string): Observable<MeOut> {\r\n return this.http.get<ApiSuccess<MeOut>>(`${this.url}/auth/me`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a user by their unique ID.\r\n *\r\n * @param {number} id - The unique identifier of the user to be fetched.\r\n * @return {Observable<GetUserOut>} An observable containing the user information.\r\n */\r\n user (id: number): Observable<GetUserOut> {\r\n return this.http.get<ApiSuccess<GetUserOut>>(`${this.url}/users/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Changes the language for the authenticated user.\r\n *\r\n * @param {Object} params - The input parameters for changing the language.\r\n * @param {string} params.languageId - The ID of the new language to be set.\r\n * @return {Observable<ApiSuccess<MeOut>>} An observable that emits the result of the language change request.\r\n */\r\n changeLanguage ({\r\n languageId\r\n }: ChangeLanguageIn): Observable<MeOut> {\r\n return this.http.put<ApiSuccess<MeOut>>(`${this.url}/auth/me`, {\r\n language_id: languageId\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\n\r\n@Injectable()\r\nexport class ApiHeadersInterceptor implements HttpInterceptor {\r\n /**\r\n * Intercepts HTTP requests and adds common headers.\r\n *\r\n * @param {HttpRequest<unknown>} request - The HTTP request intercepted.\r\n * @param {HttpHandler} next - The next handler in the chain.\r\n *\r\n * @returns {Observable<HttpEvent<unknown>>} - Observable of the HTTP event after interception.\r\n */\r\n intercept (request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n let headers = new HttpHeaders({\r\n 'cache-control': 'max-age=0, no-cache, no-store, must-revalidate',\r\n 'expires': '0',\r\n 'pragma': 'no-cache'\r\n })\r\n\r\n if (!request.headers.has('Content-Type'))\r\n headers = headers.set('Content-Type', 'application/json')\r\n\r\n if (!request.headers.has('Accept'))\r\n headers = headers.set('Accept', 'application/json')\r\n\r\n if (!request.headers.has('Accept-Language'))\r\n headers = headers.set('Accept-Language', localStorage.getItem('lang') ?? 'en')\r\n\r\n request = request.clone({ headers })\r\n\r\n return next.handle(request)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\n@Injectable()\r\nexport class ApiTokenInterceptor implements HttpInterceptor {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private cookie: CookieService\r\n ) {}\r\n\r\n /**\r\n * Intercepts the HTTP request and adds the Authorization header.\r\n *\r\n * @param {HttpRequest<unknown>} request - The HTTP request to intercept.\r\n * @param {HttpHandler} next - The next HTTP handler in the chain.\r\n *\r\n * @returns {Observable<HttpEvent<unknown>>} - An observable containing the HTTP event.\r\n */\r\n intercept (request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n if (request.headers.has('Authorization') || request.headers.has('AppKey'))\r\n return next.handle(request)\r\n\r\n const token = this.cookie.get(this.environments.tokenName)\r\n\r\n if (!token)\r\n return next.handle(request)\r\n\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n })\r\n\r\n return next.handle(request)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http'\r\n\r\nimport { Observable, of } from 'rxjs'\r\nimport { tap } from 'rxjs/operators'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\nconst DEFAULT_TTL = 10000 // ttl in ms\r\n\r\n@Injectable()\r\nexport class HttpCachingInterceptor implements HttpInterceptor {\r\n private cache = new Map<string, { ttl: number, res: HttpResponse<any> }>()\r\n\r\n constructor (@Inject('env') private envs: Environment) {}\r\n\r\n intercept (req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n if (req.method !== 'GET')\r\n return next.handle(req)\r\n\r\n const cached = this.cache.get(req.urlWithParams)\r\n\r\n if (cached) {\r\n const isExpired = Date.now() > cached.ttl\r\n\r\n if (!isExpired)\r\n return of(cached.res)\r\n\r\n this.cache.delete(req.urlWithParams) // If expired, remove the entry from cache\r\n }\r\n\r\n return next.handle(req).pipe(\r\n tap((res) => {\r\n if (!(res instanceof HttpResponse))\r\n return\r\n\r\n const ttl = Date.now() + (this.envs.cacheTtl ?? DEFAULT_TTL)\r\n\r\n this.cache.set(req.urlWithParams, { res, ttl })\r\n })\r\n )\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-services\r\n */\r\nexport * from './lib/ngx-services.module'\r\n\r\n// api services\r\nexport * from './lib/apis/api-companies.service'\r\nexport * from './lib/apis/api-security.service'\r\n\r\n// api models\r\nexport * from './lib/apis/models/api.models'\r\nexport * from './lib/apis/models/api-companies.interfaces'\r\nexport * from './lib/apis/models/api-companies.types'\r\nexport * from './lib/apis/models/api-security.interfaces'\r\nexport * from './lib/apis/models/api-security.types'\r\n\r\n// interceptors\r\nexport * from './lib/interceptors/api-headers.interceptor'\r\nexport * from './lib/interceptors/api-token.interceptor'\r\nexport * from './lib/interceptors/http-caching.interceptor'\r\n\r\n// helpers\r\nexport * from './lib/helpers/http'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","tap"],"mappings":"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"}
1
+ {"version":3,"file":"experteam-mx-ngx-services.mjs","sources":["../../../../projects/experteam-mx/ngx-services/src/lib/ngx-services.module.ts","../../../../projects/experteam-mx/ngx-services/src/lib/helpers/http.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-companies.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-security.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/apis/api-shipments.service.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-headers.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/api-token.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/lib/interceptors/http-caching.interceptor.ts","../../../../projects/experteam-mx/ngx-services/src/public-api.ts","../../../../projects/experteam-mx/ngx-services/src/experteam-mx-ngx-services.ts"],"sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport { Environment } from './ngx-services.models'\r\nimport { HttpClientModule } from '@angular/common/http'\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n HttpClientModule\r\n ],\r\n exports: []\r\n})\r\nexport class NgxServicesModule {\r\n /**\r\n * Returns a module with providers for the NgxServicesModule.\r\n *\r\n * @param {Environment} environment - The environment configuration object.\r\n *\r\n * @return {ModuleWithProviders<NgxServicesModule>} The module with providers for the NgxServicesModule.\r\n */\r\n public static forRoot (environment: Environment): ModuleWithProviders<NgxServicesModule> {\r\n return {\r\n ngModule: NgxServicesModule,\r\n providers: [\r\n {\r\n provide: 'env',\r\n useValue: environment\r\n }\r\n ]\r\n }\r\n }\r\n}\r\n","import { HttpHeaders, HttpParams } from '@angular/common/http'\r\nimport { QueryParams } from '../apis/models/api.models'\r\n\r\n/**\r\n * Convert an object of key-value pairs into a URL query string.\r\n *\r\n * @param {Object} params - The key-value pairs to converted into a query string.\r\n *\r\n * @return {string} - The generated query string.\r\n */\r\nexport const queryString = (params: QueryParams): string => {\r\n let queryElements: string[] = []\r\n\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (Array.isArray(value)) {\r\n const arrayQuery = value\r\n .map((item) => `${encodeURIComponent(key)}=${encodeURIComponent(item as string | number | boolean)}`)\r\n .join('&')\r\n\r\n queryElements.push(arrayQuery)\r\n } else {\r\n const encodedQuery = `${encodeURIComponent(key)}=${encodeURIComponent(value as string | number | boolean)}`\r\n\r\n queryElements.push(encodedQuery)\r\n }\r\n })\r\n\r\n const queryString = queryElements.join('&')\r\n\r\n return queryString.length ? `?${queryString}` : ''\r\n}\r\n\r\n/**\r\n * Creates an instance of HttpParams using the provided params object.\r\n *\r\n * @param {Object} params - The object containing the params to the HttpParams constructor.\r\n *\r\n * @returns {HttpParams} - An instance of HttpParams created from the params object.\r\n */\r\nexport const httpParams = (\r\n params: QueryParams\r\n): HttpParams => new HttpParams({\r\n fromObject: params\r\n})\r\n\r\n/**\r\n * Returns the headers for generating PDF files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating PDF files.\r\n */\r\nexport const pdfHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n 'Accept': 'application/pdf'\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n\r\n/**\r\n * Returns the headers for generating XML files.\r\n *\r\n * @param {string} format - The format of the headers, 'object' or 'http_header'.\r\n *\r\n * @returns {HttpHeaders | { [header: string]: string | string[] }} - The headers for generating XML files.\r\n */\r\nexport const xmlHeaders = (format: 'object' | 'http_header' = 'object'): HttpHeaders | { [header: string]: string | string[] } => {\r\n const headers = {\r\n 'Accept': 'application/xml',\r\n }\r\n\r\n return format === 'object'\r\n ? headers\r\n : new HttpHeaders(headers)\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport {\r\n AccountEntitiesData,\r\n CompanyCountriesData,\r\n CompanyCountryData,\r\n CompanyCountryTaxesData, CountryExchangesData,\r\n CountryReferenceCurrenciesData,\r\n CountryReferenceData,\r\n CountryReferencesData,\r\n EmployeeData,\r\n EmployeesData,\r\n ExchangesData,\r\n InstallationData,\r\n InstallationsData,\r\n LocationData,\r\n LocationEmployeesData,\r\n LocationsData,\r\n ParametersData,\r\n ParametersProps,\r\n ParameterValueData,\r\n ParameterValueProps,\r\n SupplyEntitiesData,\r\n WorkflowsData\r\n} from './models/api-companies.types'\r\nimport { ApiSuccess, QueryParams } from './models/api.models'\r\nimport { forkJoin, map, mergeMap, Observable } from 'rxjs'\r\nimport { httpParams } from '../helpers/http'\r\nimport { CountryCurrencyRate } from './models/api-companies.interfaces'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiCompaniesService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the companies API from the environment configurations.\r\n *\r\n * @return {string} The URL of the companies API.\r\n */\r\n get url (): string {\r\n return this.environments.apiCompaniesUrl\r\n }\r\n\r\n /**\r\n * Fetches the installations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter the installations query.\r\n * @return {Observable<InstallationsData>} An observable that emits the installations data.\r\n */\r\n getInstallations (params: QueryParams): Observable<InstallationsData> {\r\n return this.http.get<ApiSuccess<InstallationsData>>(`${this.url}/installations`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the installation details based on the given installation ID.\r\n *\r\n * @param {number} id - The unique identifier of the installation to retrieve.\r\n * @returns {Observable<InstallationData>} An observable of the installation details.\r\n */\r\n getInstallation (id: number): Observable<InstallationData> {\r\n return this.http.get<ApiSuccess<InstallationData>>(`${this.url}/installations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of locations based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to use for querying locations.\r\n * @return {Observable<LocationsData>} An observable that emits the locations data.\r\n */\r\n getLocations (params: QueryParams): Observable<LocationsData> {\r\n return this.http.get<ApiSuccess<LocationsData>>(`${this.url}/locations`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the location details for a given location ID.\r\n *\r\n * @param {number} id - The unique identifier of the location.\r\n * @return {Observable<LocationData>} An Observable containing the location details.\r\n */\r\n getLocation (id: number): Observable<LocationData> {\r\n return this.http.get<ApiSuccess<LocationData>>(`${this.url}/locations/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of active supply entities.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter supply entities.\r\n * @return {Observable<SupplyEntitiesData>} Observable emitting supply entities data.\r\n */\r\n getSupplyEntitiesActive (params: QueryParams): Observable<SupplyEntitiesData> {\r\n return this.http.get<ApiSuccess<SupplyEntitiesData>>(`${this.url}/supply-entities/actives`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a list of employees based on the specified query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and sort the employees.\r\n * @return {Observable<EmployeesData>} An observable that emits the list of employees.\r\n */\r\n getEmployees (params: QueryParams): Observable<EmployeesData> {\r\n return this.http.get<ApiSuccess<EmployeesData>>(`${this.url}/employees`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches an employee's details based on the provided employee ID.\r\n *\r\n * @param {number} id - The unique identifier of the employee.\r\n * @return {Observable<EmployeeData>} An observable that emits the employee's details.\r\n */\r\n getEmployee (id: number): Observable<EmployeeData> {\r\n return this.http.get<ApiSuccess<EmployeeData>>(`${this.url}/employees/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of employees for a specified location based on provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter and retrieve the location employees.\r\n * @returns {Observable<LocationEmployeesData>} An observable that emits the list of employees for the specified location.\r\n */\r\n getLocationEmployees (params: QueryParams): Observable<LocationEmployeesData> {\r\n return this.http.get<ApiSuccess<LocationEmployeesData>>(`${this.url}/location-employees`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of countries where the company operates.\r\n *\r\n * @param {QueryParams} params - The query parameters for the API request.\r\n * @return {Observable<CompanyCountriesData>} An observable containing the list of company countries.\r\n */\r\n getCompanyCountries (params: QueryParams): Observable<CompanyCountriesData> {\r\n return this.http.get<ApiSuccess<CompanyCountriesData>>(`${this.url}/company-countries`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n\r\n /**\r\n * Retrieves the country information for a specified company by its ID.\r\n *\r\n * @param {number} id - The unique identifier of the company.\r\n * @return {Observable<CompanyCountryData>} An observable containing the country information of the company.\r\n */\r\n getCompanyCountry (id: number): Observable<CompanyCountryData> {\r\n return this.http.get<ApiSuccess<CompanyCountryData>>(`${this.url}/company-countries/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the reference currencies for a given country.\r\n *\r\n * @param {QueryParams} params - The query parameters to include in the request.\r\n * @return {Observable<CountryReferenceCurrenciesData>} The observable containing the country reference currencies data.\r\n */\r\n getCountryReferenceCurrencies (params: QueryParams): Observable<CountryReferenceCurrenciesData> {\r\n return this.http.get<ApiSuccess<CountryReferenceCurrenciesData>>(\r\n `${this.url}/country-reference-currencies`,\r\n { params }\r\n ).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of currencies for different countries along with their current exchange rates.\r\n *\r\n * @param {QueryParams} params - The query parameters used to fetch the country reference currencies.\r\n * @return {Observable<CountryCurrencyRate[]>} An observable that emits an array of country currency rates.\r\n */\r\n getCountryCurrenciesWithRate (params: QueryParams): Observable<CountryCurrencyRate[]> {\r\n return this.getCountryReferenceCurrencies(params)\r\n .pipe(mergeMap((currenciesData) => {\r\n const $observables = currenciesData.country_reference_currencies\r\n .map((country_reference_currency) =>\r\n this.getCurrentExchanges({\r\n currency_id: country_reference_currency.currency.id,\r\n }).pipe(\r\n map((exchangesData) => ({\r\n ...country_reference_currency,\r\n rate: exchangesData.exchanges[0]?.value,\r\n }))\r\n )\r\n )\r\n\r\n return forkJoin($observables)\r\n }))\r\n }\r\n\r\n /**\r\n * Fetches exchange data based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving exchange data.\r\n * @return {Observable<CountryExchangesData>} An observable containing the exchange data.\r\n */\r\n getExchanges (params: QueryParams): Observable<CountryExchangesData> {\r\n return this.http.get<ApiSuccess<CountryExchangesData>>(`${this.url}/exchanges`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the current exchanges based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters to filter the exchanges.\r\n *\r\n * @returns {Observable<ExchangesData>} - An observable that emits the API response data containing the current exchanges.\r\n */\r\n getCurrentExchanges (params: QueryParams): Observable<ExchangesData> {\r\n return this.http.get<ApiSuccess<ExchangesData>>(`${this.url}/exchanges/current`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country-specific tax information for a company.\r\n *\r\n * @param {QueryParams} params - The parameters used to filter and query the taxes.\r\n * @return {Observable<CompanyCountryTaxesData>} An observable that emits the tax information.\r\n */\r\n getCompanyCountryTaxes (params: QueryParams): Observable<CompanyCountryTaxesData> {\r\n return this.http.get<ApiSuccess<CompanyCountryTaxesData>>(`${this.url}/company-country-taxes`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the list of active account entities based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The parameters to filter and query active account entities.\r\n * @return {Observable<AccountEntitiesData>} An observable that emits the list of active account entities.\r\n */\r\n getActiveAccountEntities (params: QueryParams): Observable<AccountEntitiesData> {\r\n return this.http.get<ApiSuccess<AccountEntitiesData>>(`${this.url}/account-entities/actives`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the parameter values based on the provided parameter names.\r\n *\r\n * @param {Object} params - An object containing the required parameters.\r\n * @param {string[]} params.paramNames - An array of parameter names for which the values need to be fetched.\r\n * @return {Observable<ParametersData>} An observable that emits the fetched parameter values.\r\n */\r\n getParameters ({\r\n paramNames,\r\n }: ParametersProps): Observable<ParametersData> {\r\n const parameters = paramNames.map((p) => ({ name: p }))\r\n\r\n return this.http.post<ApiSuccess<ParametersData>>(`${this.url}/parameters-values`, {\r\n parameters\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves the value of a specified parameter.\r\n *\r\n * @param {Object} input - The input object containing the parameter details.\r\n * @param {string} input.paramName - The name of the parameter whose value is to be retrieved.\r\n * @return {Observable<ParameterValueData>} An observable emitting the value of the specified parameter.\r\n */\r\n getParameterValue ({\r\n paramName,\r\n }: ParameterValueProps): Observable<ParameterValueData> {\r\n return this.http.get<ApiSuccess<ParameterValueData>>(`${this.url}/parameters-values/${paramName}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Retrieves a list of country references based on the given query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters for retrieving country references.\r\n * @return {Observable<CountryReferencesData>} An observable containing the country reference data.\r\n */\r\n getCountryReferences (params: QueryParams): Observable<CountryReferencesData> {\r\n return this.http.get<ApiSuccess<CountryReferencesData>>(`${this.url}/country-references`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the country reference data for a given country ID.\r\n *\r\n * @param {number} id - The unique identifier of the country for which the reference data is to be retrieved.\r\n * @return {Observable<CountryReferenceData>} An observable containing the country reference data.\r\n */\r\n getCountryReference (id: number): Observable<CountryReferenceData> {\r\n return this.http.get<ApiSuccess<CountryReferenceData>>(`${this.url}/country-references/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the list of workflows based on the provided query parameters.\r\n *\r\n * @param {QueryParams} params - The query parameters used to filter workflows.\r\n * @return {Observable<WorkflowsData>} An observable containing the workflow data.\r\n */\r\n getWorkflows (params: QueryParams): Observable<WorkflowsData> {\r\n return this.http.get<ApiSuccess<WorkflowsData>>(`${this.url}/workflows`, {\r\n params: httpParams(params),\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { ApiSuccess } from './models/api.models'\r\nimport {\r\n ChangeLanguageIn,\r\n CreateSessionIn,\r\n CreateSessionOut,\r\n GetUserOut,\r\n LoginIn,\r\n LoginOut,\r\n MeOut\r\n} from './models/api-security.types'\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { map, Observable, tap } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiSecurityService {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private cookie: CookieService,\r\n private http: HttpClient,\r\n ) {}\r\n\r\n /**\r\n * Retrieves the API security URL from the environments configuration.\r\n *\r\n * @return {string} The API security URL.\r\n */\r\n get url (): string {\r\n return this.environments.apiSecurityUrl\r\n }\r\n\r\n /**\r\n * Authenticates a user with the provided credentials and role.\r\n *\r\n * @param {Object} param0 - The login input object.\r\n * @param {string} param0.username - The username of the user.\r\n * @param {string} param0.password - The password of the user.\r\n * @param {string} param0.role - The role of the user.\r\n * @return {Observable<LoginOut>} An observable emitting the login output object.\r\n */\r\n login ({\r\n username,\r\n password,\r\n role,\r\n }: LoginIn): Observable<LoginOut> {\r\n return this.http.post<ApiSuccess<LoginOut>>(`${this.url}/auth/login`, {\r\n system_name: 'CRA',\r\n username,\r\n password,\r\n role,\r\n }).pipe(\r\n map(({ data }) => data),\r\n tap(({ access_token }) => this.cookie.set(this.environments.tokenName, access_token, { path: '/' }))\r\n )\r\n }\r\n\r\n /**\r\n * Logs out the current user by making a POST request to the logout endpoint.\r\n *\r\n * This method deletes all cookies after a successful logout.\r\n *\r\n * @return {Observable<{}>} An observable that emits the server's response to the logout request.\r\n */\r\n logout (): Observable<{}> {\r\n return this.http.post<ApiSuccess<{}>>(`${this.url}/auth/logout`, null)\r\n .pipe(\r\n map(({ data }) => data),\r\n tap(() => this.cookie.deleteAll('/'))\r\n )\r\n }\r\n\r\n /**\r\n * Creates a new session for a specified model.\r\n *\r\n * @param {Object} params - The parameters for creating the session.\r\n * @param {string} params.modelType - The type of the model.\r\n * @param {string} params.modelId - The ID of the model.\r\n * @param {string} [params.token] - Optional authorization token.\r\n *\r\n * @return {Observable<CreateSessionOut>} An observable containing the created session details.\r\n */\r\n createSession ({\r\n modelType,\r\n modelId,\r\n token,\r\n }: CreateSessionIn): Observable<CreateSessionOut> {\r\n let headers = new HttpHeaders({})\r\n\r\n if (token)\r\n headers = headers.set('Authorization', `Bearer ${token}`)\r\n\r\n return this.http.post<ApiSuccess<CreateSessionOut>>(\r\n `${this.url}/sessions`, {\r\n model_type: modelType,\r\n model_id: modelId,\r\n }, {\r\n headers\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's information.\r\n * Sends a GET request to the endpoint '/auth/me' to retrieve information\r\n * about the currently authenticated user.\r\n *\r\n * @return {Observable<MeOut>} An observable that emits the authenticated user's data.\r\n */\r\n me (): Observable<MeOut> {\r\n return this.http.get<ApiSuccess<MeOut>>(`${this.url}/auth/me`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches the authenticated user's details from the server.\r\n *\r\n * @param token The JWT token used for authorization.\r\n * @return An Observable that emits the user's details encapsulated in a MeOut object.\r\n */\r\n otherMe (token: string): Observable<MeOut> {\r\n return this.http.get<ApiSuccess<MeOut>>(`${this.url}/auth/me`, {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n }).pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Fetches a user by their unique ID.\r\n *\r\n * @param {number} id - The unique identifier of the user to be fetched.\r\n * @return {Observable<GetUserOut>} An observable containing the user information.\r\n */\r\n user (id: number): Observable<GetUserOut> {\r\n return this.http.get<ApiSuccess<GetUserOut>>(`${this.url}/users/${id}`)\r\n .pipe(map(({ data }) => data))\r\n }\r\n\r\n /**\r\n * Changes the language for the authenticated user.\r\n *\r\n * @param {Object} params - The input parameters for changing the language.\r\n * @param {string} params.languageId - The ID of the new language to be set.\r\n * @return {Observable<ApiSuccess<MeOut>>} An observable that emits the result of the language change request.\r\n */\r\n changeLanguage ({\r\n languageId\r\n }: ChangeLanguageIn): Observable<MeOut> {\r\n return this.http.put<ApiSuccess<MeOut>>(`${this.url}/auth/me`, {\r\n language_id: languageId\r\n }).pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Environment } from '../ngx-services.models'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, Observable } from 'rxjs'\r\nimport { ApiSuccess } from './models/api.models'\r\nimport { ValidateAccountProps, ValidateAccountData } from './models/api-shipments.types'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiShipmentsService {\r\n\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private http: HttpClient,\r\n ) { }\r\n\r\n /**\r\n * Retrieves the URL for the shipments API from the environment configurations.\r\n *\r\n * @return {string} The URL of the shipments API.\r\n */\r\n get url (): string {\r\n return this.environments.apiShipmentUrl\r\n }\r\n\r\n /**\r\n * Retrieves the parameter values based on the provided parameter names.\r\n *\r\n * @param {ValidateAccountProps} body - An object of parameter names for which the values need to be fetched.\r\n * @return {Observable<ParametersData>} An observable that emits the fetched parameter values\r\n * @param body\r\n */\r\n validateAccount (body: ValidateAccountProps): Observable<ValidateAccountData> {\r\n return this.http.post<ApiSuccess<ValidateAccountData>>(`${this.url}/accounts`, body)\r\n .pipe(map(({ data }) => data))\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\n\r\n@Injectable()\r\nexport class ApiHeadersInterceptor implements HttpInterceptor {\r\n /**\r\n * Intercepts HTTP requests and adds common headers.\r\n *\r\n * @param {HttpRequest<unknown>} request - The HTTP request intercepted.\r\n * @param {HttpHandler} next - The next handler in the chain.\r\n *\r\n * @returns {Observable<HttpEvent<unknown>>} - Observable of the HTTP event after interception.\r\n */\r\n intercept (request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n let headers = new HttpHeaders({\r\n 'cache-control': 'max-age=0, no-cache, no-store, must-revalidate',\r\n 'expires': '0',\r\n 'pragma': 'no-cache'\r\n })\r\n\r\n if (!request.headers.has('Content-Type'))\r\n headers = headers.set('Content-Type', 'application/json')\r\n\r\n if (!request.headers.has('Accept'))\r\n headers = headers.set('Accept', 'application/json')\r\n\r\n if (!request.headers.has('Accept-Language'))\r\n headers = headers.set('Accept-Language', localStorage.getItem('lang') ?? 'en')\r\n\r\n request = request.clone({ headers })\r\n\r\n return next.handle(request)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'\r\nimport { Observable } from 'rxjs'\r\nimport { CookieService } from 'ngx-cookie-service'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\n@Injectable()\r\nexport class ApiTokenInterceptor implements HttpInterceptor {\r\n constructor (\r\n @Inject('env') private environments: Environment,\r\n private cookie: CookieService\r\n ) {}\r\n\r\n /**\r\n * Intercepts the HTTP request and adds the Authorization header.\r\n *\r\n * @param {HttpRequest<unknown>} request - The HTTP request to intercept.\r\n * @param {HttpHandler} next - The next HTTP handler in the chain.\r\n *\r\n * @returns {Observable<HttpEvent<unknown>>} - An observable containing the HTTP event.\r\n */\r\n intercept (request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n if (request.headers.has('Authorization') || request.headers.has('AppKey'))\r\n return next.handle(request)\r\n\r\n const token = this.cookie.get(this.environments.tokenName)\r\n\r\n if (!token)\r\n return next.handle(request)\r\n\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n })\r\n\r\n return next.handle(request)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http'\r\n\r\nimport { Observable, of } from 'rxjs'\r\nimport { tap } from 'rxjs/operators'\r\nimport { Environment } from '../ngx-services.models'\r\n\r\nconst DEFAULT_TTL = 10000 // ttl in ms\r\n\r\n@Injectable()\r\nexport class HttpCachingInterceptor implements HttpInterceptor {\r\n private cache = new Map<string, { ttl: number, res: HttpResponse<any> }>()\r\n\r\n constructor (@Inject('env') private envs: Environment) {}\r\n\r\n intercept (req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n if (req.method !== 'GET')\r\n return next.handle(req)\r\n\r\n const cached = this.cache.get(req.urlWithParams)\r\n\r\n if (cached) {\r\n const isExpired = Date.now() > cached.ttl\r\n\r\n if (!isExpired)\r\n return of(cached.res)\r\n\r\n this.cache.delete(req.urlWithParams) // If expired, remove the entry from cache\r\n }\r\n\r\n return next.handle(req).pipe(\r\n tap((res) => {\r\n if (!(res instanceof HttpResponse))\r\n return\r\n\r\n const ttl = Date.now() + (this.envs.cacheTtl ?? DEFAULT_TTL)\r\n\r\n this.cache.set(req.urlWithParams, { res, ttl })\r\n })\r\n )\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-services\r\n */\r\nexport * from './lib/ngx-services.module'\r\n\r\n// api services\r\nexport * from './lib/apis/api-companies.service'\r\nexport * from './lib/apis/api-security.service'\r\nexport * from './lib/apis/api-shipments.service'\r\n\r\n// api models\r\nexport * from './lib/apis/models/api-companies.interfaces'\r\nexport * from './lib/apis/models/api-companies.types'\r\nexport * from './lib/apis/models/api-security.interfaces'\r\nexport * from './lib/apis/models/api-security.types'\r\nexport * from './lib/apis/models/api-shipments.types'\r\nexport * from './lib/apis/models/api.models'\r\n\r\n// interceptors\r\nexport * from './lib/interceptors/api-headers.interceptor'\r\nexport * from './lib/interceptors/api-token.interceptor'\r\nexport * from './lib/interceptors/http-caching.interceptor'\r\n\r\n// helpers\r\nexport * from './lib/helpers/http'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","tap"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Environment } from '../ngx-services.models';
2
+ import { HttpClient } from '@angular/common/http';
3
+ import { Observable } from 'rxjs';
4
+ import { ValidateAccountProps, ValidateAccountData } from './models/api-shipments.types';
5
+ import * as i0 from "@angular/core";
6
+ export declare class ApiShipmentsService {
7
+ private environments;
8
+ private http;
9
+ constructor(environments: Environment, http: HttpClient);
10
+ /**
11
+ * Retrieves the URL for the shipments API from the environment configurations.
12
+ *
13
+ * @return {string} The URL of the shipments API.
14
+ */
15
+ get url(): string;
16
+ /**
17
+ * Retrieves the parameter values based on the provided parameter names.
18
+ *
19
+ * @param {ValidateAccountProps} body - An object of parameter names for which the values need to be fetched.
20
+ * @return {Observable<ParametersData>} An observable that emits the fetched parameter values
21
+ * @param body
22
+ */
23
+ validateAccount(body: ValidateAccountProps): Observable<ValidateAccountData>;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<ApiShipmentsService, never>;
25
+ static ɵprov: i0.ɵɵInjectableDeclaration<ApiShipmentsService>;
26
+ }
@@ -52,7 +52,7 @@ export interface CompanyCountryTax extends LaravelModel {
52
52
  tax_type: string;
53
53
  }
54
54
  export interface CountryCurrencyRate extends CountryReferenceCurrency {
55
- rate: number;
55
+ rate: string;
56
56
  }
57
57
  export interface CountryReference extends LaravelModel {
58
58
  language_id: number;
@@ -106,7 +106,7 @@ export interface Exchange extends LaravelModel {
106
106
  company_country_currency_id: number;
107
107
  valid_since: string;
108
108
  valid_until: string | null;
109
- value: number;
109
+ value: string;
110
110
  type: string;
111
111
  }
112
112
  export interface CountryExchange extends Exchange {
@@ -191,194 +191,3 @@ export interface Workflow {
191
191
  page: string;
192
192
  enabled: boolean;
193
193
  }
194
- export interface LocationEmployee extends LaravelModel {
195
- location_id: number;
196
- employee_id: number;
197
- is_active: boolean;
198
- is_supervisor: boolean;
199
- employee: Employee;
200
- location: Location;
201
- }
202
- export interface Employee extends LaravelModel {
203
- name: string;
204
- last_name: string;
205
- number: string;
206
- company_id: number;
207
- country_id: number;
208
- external: boolean;
209
- phone_code: string;
210
- phone_number: string;
211
- is_active: boolean;
212
- password: string;
213
- roles: string[];
214
- locations: Location[];
215
- }
216
- export interface Location extends LaravelModel {
217
- name: string;
218
- contact_name: string;
219
- email: string;
220
- facility_code: string;
221
- location_code: string;
222
- type: string;
223
- state_name: string;
224
- state_id: number;
225
- state_code: string;
226
- city_name: string;
227
- zip_code: string;
228
- county_name: string;
229
- address1: string;
230
- address2: string;
231
- address3: string;
232
- service_area_code: string;
233
- iata_code: string;
234
- phone_code: string;
235
- phone_number: string;
236
- gmt_offset: string;
237
- company_country_id: number;
238
- country_zone_id: number;
239
- country_region_id: number;
240
- management_area_id: number;
241
- google_maps_id: string;
242
- route_number: string;
243
- locker_enabled: boolean;
244
- queue_manager_enabled: boolean;
245
- commission_account: string;
246
- service_point_id: string;
247
- is_occurs: boolean;
248
- accounts: Account[];
249
- company_country: CompanyCountry;
250
- state: State;
251
- }
252
- export interface Company extends LaravelModel {
253
- id: number;
254
- created_at: string;
255
- updated_at: string;
256
- name: string;
257
- contact_name: string;
258
- contact_email: string;
259
- contact_phone: string;
260
- state: string;
261
- city: string;
262
- county_name: string;
263
- zip_code: string;
264
- address1: string;
265
- address2: string;
266
- address3: string;
267
- is_active: boolean;
268
- }
269
- export interface CompanyCountry extends LaravelModel {
270
- company_id: number;
271
- country_id: number;
272
- headquarters_city_code: string;
273
- lp_code: string;
274
- company: Company;
275
- contact_name: string;
276
- contact_email: string;
277
- contact_phone_code: string;
278
- contact_phone_number: string;
279
- state: string;
280
- city: string;
281
- zip_code: string;
282
- county_name: string;
283
- address1: string;
284
- address2: string;
285
- address3: string;
286
- }
287
- export interface Installation extends LaravelModel {
288
- system_id: number;
289
- mac_address: string;
290
- ip_address: string;
291
- location_id: number;
292
- }
293
- export interface SupplyEntity extends LaravelModel {
294
- name: string;
295
- description: string;
296
- country_id: number;
297
- enabled_for_dropoff: boolean;
298
- supply_type: SupplyType;
299
- supply_packing: SupplyPacking;
300
- }
301
- export interface SupplyType extends LaravelModel {
302
- name: string;
303
- }
304
- export interface SupplyPacking extends LaravelModel {
305
- value: number;
306
- weight: number;
307
- height: number;
308
- depth: number;
309
- width: number;
310
- emobile_code: string | null;
311
- }
312
- export interface Employee extends LaravelModel {
313
- name: string;
314
- last_name: string;
315
- number: string;
316
- company_id: number;
317
- country_id: number;
318
- external: boolean;
319
- phone_code: string;
320
- phone_number: string;
321
- is_active: boolean;
322
- password: string;
323
- roles: string[];
324
- locations: Location[];
325
- }
326
- export interface CountryReferenceCurrency extends LaravelModel {
327
- country_id: number;
328
- currency_id: number;
329
- is_local: boolean;
330
- can_transact: boolean;
331
- code: string;
332
- name: string;
333
- is_default: boolean;
334
- is_declared_insured: boolean;
335
- currency: Currency;
336
- }
337
- export interface CompanyCountryTax extends LaravelModel {
338
- code: string;
339
- name: string;
340
- percentage: number;
341
- company_country_id: number;
342
- shipment_scopes: number[];
343
- base_percentage: number;
344
- tax_type: string;
345
- }
346
- export interface Exchange extends LaravelModel {
347
- company_country_currency_id: number;
348
- valid_since: string;
349
- valid_until: string | null;
350
- value: number;
351
- type: string;
352
- }
353
- export interface Parameter {
354
- name: string;
355
- value: any;
356
- status?: string;
357
- }
358
- export interface CountryReference extends LaravelModel {
359
- language_id: number;
360
- decimal_point: number;
361
- decimal_separator: string;
362
- thousands_separator: string;
363
- use_billing: boolean;
364
- use_payments: boolean;
365
- restricted_import_countries: number[];
366
- currency_id: number;
367
- max_quantity_document_piece: number;
368
- max_quantity_package_piece: number;
369
- weight_restriction_piece: number;
370
- restriction_shipment: number;
371
- restriction_dimension: number;
372
- max_declared_value: number;
373
- territories: number[];
374
- some_openings: boolean;
375
- locale: string;
376
- country_id: number;
377
- label_printer_name: string;
378
- receipt_printer_name: string;
379
- others_printer_name: string;
380
- }
381
- export interface Workflow {
382
- page: string;
383
- enabled: boolean;
384
- }
@@ -0,0 +1,32 @@
1
+ export type ValidateAccountProps = {
2
+ accountValue: string;
3
+ };
4
+ export type AccountResponse = {
5
+ status: true;
6
+ message: string;
7
+ name: string;
8
+ accountStatus: string;
9
+ creditStatus: string;
10
+ activityStatus: string;
11
+ country: string;
12
+ countryName: string;
13
+ isCreditStop: boolean;
14
+ isImportEnabled: boolean;
15
+ accountType: string;
16
+ isCash: boolean;
17
+ contactInfo: string | null;
18
+ registrationInfo: string | null;
19
+ users: {
20
+ id: string;
21
+ name: string;
22
+ valid: boolean;
23
+ }[];
24
+ } | {
25
+ status: false;
26
+ message: string;
27
+ users: [];
28
+ };
29
+ export type ValidateAccountData = {
30
+ account: AccountResponse;
31
+ transactionId: string;
32
+ };
@@ -3,4 +3,5 @@ export type Environment = {
3
3
  tokenName: string;
4
4
  apiSecurityUrl: string;
5
5
  apiCompaniesUrl: string;
6
+ apiShipmentUrl: string;
6
7
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@experteam-mx/ngx-services",
3
- "version": "15.1.2",
3
+ "version": "15.2.0",
4
4
  "description": "Angular common services for Experteam apps",
5
5
  "author": "Experteam Cía. Ltda.",
6
6
  "keywords": [
package/public-api.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  export * from './lib/ngx-services.module';
2
2
  export * from './lib/apis/api-companies.service';
3
3
  export * from './lib/apis/api-security.service';
4
- export * from './lib/apis/models/api.models';
4
+ export * from './lib/apis/api-shipments.service';
5
5
  export * from './lib/apis/models/api-companies.interfaces';
6
6
  export * from './lib/apis/models/api-companies.types';
7
7
  export * from './lib/apis/models/api-security.interfaces';
8
8
  export * from './lib/apis/models/api-security.types';
9
+ export * from './lib/apis/models/api-shipments.types';
10
+ export * from './lib/apis/models/api.models';
9
11
  export * from './lib/interceptors/api-headers.interceptor';
10
12
  export * from './lib/interceptors/api-token.interceptor';
11
13
  export * from './lib/interceptors/http-caching.interceptor';