fiscalapi 1.0.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.
- package/LICENSE.txt +373 -0
- package/README.md +388 -0
- package/dist/cjs/abstractions/api-key-service.interface.js +3 -0
- package/dist/cjs/abstractions/catalog-service.interface.js +3 -0
- package/dist/cjs/abstractions/fiscalapi-client.interface.js +3 -0
- package/dist/cjs/abstractions/fiscalapi-service.interface.js +3 -0
- package/dist/cjs/abstractions/invoice-service.interface.js +3 -0
- package/dist/cjs/abstractions/person-service.interface.js +3 -0
- package/dist/cjs/abstractions/product-service.interface.js +3 -0
- package/dist/cjs/abstractions/tax-file-service.interface.js +3 -0
- package/dist/cjs/common/api-response.js +3 -0
- package/dist/cjs/common/auditable-dto.js +11 -0
- package/dist/cjs/common/base-dto.js +11 -0
- package/dist/cjs/common/catalog-dto.js +8 -0
- package/dist/cjs/common/file-response.js +3 -0
- package/dist/cjs/common/fiscalapi-settings.js +3 -0
- package/dist/cjs/common/paged-list.js +18 -0
- package/dist/cjs/common/serializable-dto.js +37 -0
- package/dist/cjs/http/fiscalapi-http-client-factory.js +66 -0
- package/dist/cjs/http/fiscalapi-http-client.interface.js +3 -0
- package/dist/cjs/http/fiscalapi-http-client.js +306 -0
- package/dist/cjs/index.js +31 -0
- package/dist/cjs/models/api-key.js +3 -0
- package/dist/cjs/models/invoice.js +3 -0
- package/dist/cjs/models/person.js +3 -0
- package/dist/cjs/models/product.js +3 -0
- package/dist/cjs/models/tax-file.js +3 -0
- package/dist/cjs/sdk-constants.js +25 -0
- package/dist/cjs/services/api-key-service.js +19 -0
- package/dist/cjs/services/base-fiscalapi-service.js +170 -0
- package/dist/cjs/services/catalog-service.js +51 -0
- package/dist/cjs/services/fiscalapi-client.js +67 -0
- package/dist/cjs/services/invoice-service.js +116 -0
- package/dist/cjs/services/person-service.js +19 -0
- package/dist/cjs/services/product-service.js +19 -0
- package/dist/cjs/services/tax-file-service.js +43 -0
- package/dist/cjs/utils/date-utils.js +36 -0
- package/dist/cjs/utils/encoding-utils.js +21 -0
- package/dist/cjs/utils/validation-utils.js +40 -0
- package/dist/esm/abstractions/api-key-service.interface.js +2 -0
- package/dist/esm/abstractions/catalog-service.interface.js +2 -0
- package/dist/esm/abstractions/fiscalapi-client.interface.js +2 -0
- package/dist/esm/abstractions/fiscalapi-service.interface.js +2 -0
- package/dist/esm/abstractions/invoice-service.interface.js +2 -0
- package/dist/esm/abstractions/person-service.interface.js +2 -0
- package/dist/esm/abstractions/product-service.interface.js +2 -0
- package/dist/esm/abstractions/tax-file-service.interface.js +2 -0
- package/dist/esm/common/api-response.js +2 -0
- package/dist/esm/common/auditable-dto.js +7 -0
- package/dist/esm/common/base-dto.js +7 -0
- package/dist/esm/common/catalog-dto.js +4 -0
- package/dist/esm/common/file-response.js +2 -0
- package/dist/esm/common/fiscalapi-settings.js +2 -0
- package/dist/esm/common/paged-list.js +14 -0
- package/dist/esm/common/serializable-dto.js +33 -0
- package/dist/esm/http/fiscalapi-http-client-factory.js +59 -0
- package/dist/esm/http/fiscalapi-http-client.interface.js +2 -0
- package/dist/esm/http/fiscalapi-http-client.js +302 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/models/api-key.js +2 -0
- package/dist/esm/models/invoice.js +2 -0
- package/dist/esm/models/person.js +2 -0
- package/dist/esm/models/product.js +2 -0
- package/dist/esm/models/tax-file.js +2 -0
- package/dist/esm/sdk-constants.js +22 -0
- package/dist/esm/services/api-key-service.js +15 -0
- package/dist/esm/services/base-fiscalapi-service.js +166 -0
- package/dist/esm/services/catalog-service.js +47 -0
- package/dist/esm/services/fiscalapi-client.js +63 -0
- package/dist/esm/services/invoice-service.js +112 -0
- package/dist/esm/services/person-service.js +15 -0
- package/dist/esm/services/product-service.js +15 -0
- package/dist/esm/services/tax-file-service.js +39 -0
- package/dist/esm/utils/date-utils.js +31 -0
- package/dist/esm/utils/encoding-utils.js +17 -0
- package/dist/esm/utils/validation-utils.js +34 -0
- package/dist/types/abstractions/api-key-service.interface.d.ts +7 -0
- package/dist/types/abstractions/catalog-service.interface.d.ts +27 -0
- package/dist/types/abstractions/fiscalapi-client.interface.d.ts +35 -0
- package/dist/types/abstractions/fiscalapi-service.interface.d.ts +94 -0
- package/dist/types/abstractions/invoice-service.interface.d.ts +39 -0
- package/dist/types/abstractions/person-service.interface.d.ts +7 -0
- package/dist/types/abstractions/product-service.interface.d.ts +7 -0
- package/dist/types/abstractions/tax-file-service.interface.d.ts +22 -0
- package/dist/types/common/api-response.d.ts +56 -0
- package/dist/types/common/auditable-dto.d.ts +9 -0
- package/dist/types/common/base-dto.d.ts +7 -0
- package/dist/types/common/catalog-dto.d.ts +8 -0
- package/dist/types/common/file-response.d.ts +18 -0
- package/dist/types/common/fiscalapi-settings.d.ts +30 -0
- package/dist/types/common/paged-list.d.ts +39 -0
- package/dist/types/common/serializable-dto.d.ts +10 -0
- package/dist/types/http/fiscalapi-http-client-factory.d.ts +22 -0
- package/dist/types/http/fiscalapi-http-client.d.ts +113 -0
- package/dist/types/http/fiscalapi-http-client.interface.d.ts +80 -0
- package/dist/types/index.d.ts +25 -0
- package/dist/types/models/api-key.d.ts +21 -0
- package/dist/types/models/invoice.d.ts +337 -0
- package/dist/types/models/person.d.ts +42 -0
- package/dist/types/models/product.d.ts +49 -0
- package/dist/types/models/tax-file.d.ts +23 -0
- package/dist/types/sdk-constants.d.ts +21 -0
- package/dist/types/services/api-key-service.d.ts +15 -0
- package/dist/types/services/base-fiscalapi-service.d.ts +72 -0
- package/dist/types/services/catalog-service.d.ts +34 -0
- package/dist/types/services/fiscalapi-client.d.ts +49 -0
- package/dist/types/services/invoice-service.d.ts +54 -0
- package/dist/types/services/person-service.d.ts +15 -0
- package/dist/types/services/product-service.d.ts +15 -0
- package/dist/types/services/tax-file-service.d.ts +30 -0
- package/dist/types/utils/date-utils.d.ts +17 -0
- package/dist/types/utils/encoding-utils.d.ts +12 -0
- package/dist/types/utils/validation-utils.d.ts +25 -0
- package/fiscalapi.ico +0 -0
- package/fiscalapi.png +0 -0
- package/package.json +64 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlzY2FsYXBpLWh0dHAtY2xpZW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9odHRwL2Zpc2NhbGFwaS1odHRwLWNsaWVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF4aW9zUmVxdWVzdENvbmZpZyB9IGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vY29tbW9uL2FwaS1yZXNwb25zZSc7XG5cbi8qKlxuICogTcOpdG9kb3MgSFRUUCBzb3BvcnRhZG9zXG4gKi9cbmV4cG9ydCB0eXBlIEh0dHBNZXRob2QgPSAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnIHwgJ0hFQUQnIHwgJ09QVElPTlMnO1xuXG4vKipcbiAqIE9wY2lvbmVzIHBhcmEgdW5hIHBldGljacOzbiBIVFRQIGdlbsOpcmljYVxuICogQHRlbXBsYXRlIFREYXRhIC0gVGlwbyBkZSBkYXRvcyBkZSBlbnRyYWRhIChvcGNpb25hbClcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0T3B0aW9uczxURGF0YSA9IGFueT4ge1xuICAvKiogRGF0b3MgcGFyYSBlbnZpYXIgZW4gZWwgY3VlcnBvIGRlIGxhIHBldGljacOzbiAob3BjaW9uYWwpICovXG4gIGRhdGE/OiBURGF0YTtcbiAgLyoqIFBhcsOhbWV0cm9zIGRlIGNvbnN1bHRhIChxdWVyeSBzdHJpbmcpIChvcGNpb25hbCkgKi9cbiAgcXVlcnlQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogQ29uZmlndXJhY2nDs24gYWRpY2lvbmFsIHBhcmEgQXhpb3MgKG9wY2lvbmFsKSAqL1xuICBjb25maWc/OiBBeGlvc1JlcXVlc3RDb25maWc7XG4gIC8qKiBUcmFuc2Zvcm1hZG9yIGRlIHJlc3B1ZXN0YSBwZXJzb25hbGl6YWRvIChvcGNpb25hbCkgKi9cbiAgcmVzcG9uc2VUcmFuc2Zvcm1lcj86IDxUPihyZXNwb25zZTogYW55KSA9PiBUO1xufVxuXG4vKipcbiAqIEludGVyZmF6IHBhcmEgZWwgY2xpZW50ZSBIVFRQIGRlIEZpc2NhbEFQSVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGaXNjYWxhcGlIdHRwQ2xpZW50IHtcbiAgLyoqXG4gICAqIFJlYWxpemEgdW5hIHBldGljacOzbiBHRVQgYSBsYSBBUElcbiAgICogQHBhcmFtIGVuZHBvaW50IC0gUHVudG8gZmluYWwgZGUgbGEgQVBJXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb25maWd1cmFjacOzbiBhZGljaW9uYWwgcGFyYSBsYSBwZXRpY2nDs25cbiAgICogQHJldHVybnMgUmVzcHVlc3RhIGRlIGxhIEFQSVxuICAgKi9cbiAgZ2V0QXN5bmM8VD4oZW5kcG9pbnQ6IHN0cmluZywgY29uZmlnPzogQXhpb3NSZXF1ZXN0Q29uZmlnKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj47XG5cbiAgLyoqXG4gICAqIFJlYWxpemEgdW5hIHBldGljacOzbiBHRVQgcG9yIElEIGEgbGEgQVBJXG4gICAqIEBwYXJhbSBlbmRwb2ludCAtIFB1bnRvIGZpbmFsIGRlIGxhIEFQSSBjb24gSURcbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYWNpw7NuIGFkaWNpb25hbCBwYXJhIGxhIHBldGljacOzblxuICAgKiBAcmV0dXJucyBSZXNwdWVzdGEgZGUgbGEgQVBJXG4gICAqL1xuICBnZXRCeUlkQXN5bmM8VD4oZW5kcG9pbnQ6IHN0cmluZywgY29uZmlnPzogQXhpb3NSZXF1ZXN0Q29uZmlnKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj47XG5cbiAgLyoqXG4gICAqIFJlYWxpemEgdW5hIHBldGljacOzbiBQT1NUIGEgbGEgQVBJXG4gICAqIEBwYXJhbSBlbmRwb2ludCAtIFB1bnRvIGZpbmFsIGRlIGxhIEFQSVxuICAgKiBAcGFyYW0gZGF0YSAtIERhdG9zIGEgZW52aWFyIGVuIGxhIHBldGljacOzblxuICAgKiBAcGFyYW0gY29uZmlnIC0gQ29uZmlndXJhY2nDs24gYWRpY2lvbmFsIHBhcmEgbGEgcGV0aWNpw7NuXG4gICAqIEByZXR1cm5zIFJlc3B1ZXN0YSBkZSBsYSBBUElcbiAgICovXG4gIHBvc3RBc3luYzxULCBURGF0YSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgICBlbmRwb2ludDogc3RyaW5nLFxuICAgIGRhdGE6IFREYXRhLFxuICAgIGNvbmZpZz86IEF4aW9zUmVxdWVzdENvbmZpZ1xuICApOiBQcm9taXNlPEFwaVJlc3BvbnNlPFQ+PjtcblxuICAvKipcbiAgICogUmVhbGl6YSB1bmEgcGV0aWNpw7NuIFBVVCBhIGxhIEFQSVxuICAgKiBAcGFyYW0gZW5kcG9pbnQgLSBQdW50byBmaW5hbCBkZSBsYSBBUElcbiAgICogQHBhcmFtIGRhdGEgLSBEYXRvcyBhIGVudmlhciBlbiBsYSBwZXRpY2nDs25cbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYWNpw7NuIGFkaWNpb25hbCBwYXJhIGxhIHBldGljacOzblxuICAgKiBAcmV0dXJucyBSZXNwdWVzdGEgZGUgbGEgQVBJXG4gICAqL1xuICBwdXRBc3luYzxULCBURGF0YSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgICBlbmRwb2ludDogc3RyaW5nLFxuICAgIGRhdGE6IFREYXRhLFxuICAgIGNvbmZpZz86IEF4aW9zUmVxdWVzdENvbmZpZ1xuICApOiBQcm9taXNlPEFwaVJlc3BvbnNlPFQ+PjtcblxuICAvKipcbiAgICogUmVhbGl6YSB1bmEgcGV0aWNpw7NuIERFTEVURSBhIGxhIEFQSVxuICAgKiBAcGFyYW0gZW5kcG9pbnQgLSBQdW50byBmaW5hbCBkZSBsYSBBUElcbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYWNpw7NuIGFkaWNpb25hbCBwYXJhIGxhIHBldGljacOzblxuICAgKiBAcmV0dXJucyBSZXNwdWVzdGEgZGUgbGEgQVBJXG4gICAqL1xuICBkZWxldGVBc3luYyhlbmRwb2ludDogc3RyaW5nLCBjb25maWc/OiBBeGlvc1JlcXVlc3RDb25maWcpOiBQcm9taXNlPEFwaVJlc3BvbnNlPGJvb2xlYW4+PjtcblxuICAvKipcbiAgICogUmVhbGl6YSB1bmEgcGV0aWNpw7NuIFBBVENIIGEgbGEgQVBJXG4gICAqIEBwYXJhbSBlbmRwb2ludCAtIFB1bnRvIGZpbmFsIGRlIGxhIEFQSVxuICAgKiBAcGFyYW0gZGF0YSAtIERhdG9zIGEgZW52aWFyIGVuIGxhIHBldGljacOzblxuICAgKiBAcGFyYW0gY29uZmlnIC0gQ29uZmlndXJhY2nDs24gYWRpY2lvbmFsIHBhcmEgbGEgcGV0aWNpw7NuXG4gICAqIEByZXR1cm5zIFJlc3B1ZXN0YSBkZSBsYSBBUElcbiAgICovXG4gIHBhdGNoQXN5bmM8VCwgVERhdGEgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gICAgZW5kcG9pbnQ6IHN0cmluZyxcbiAgICBkYXRhOiBURGF0YSxcbiAgICBjb25maWc/OiBBeGlvc1JlcXVlc3RDb25maWdcbiAgKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj47XG5cbiAgLyoqXG4gICAqIEVqZWN1dGEgdW5hIHBldGljacOzbiBIVFRQIGdlbsOpcmljYSBjb24gY29udHJvbCBjb21wbGV0byBzb2JyZSBsb3MgcGFyw6FtZXRyb3NcbiAgICogQHBhcmFtIG1ldGhvZCAtIE3DqXRvZG8gSFRUUCBhIHV0aWxpemFyXG4gICAqIEBwYXJhbSBlbmRwb2ludCAtIFB1bnRvIGZpbmFsIGRlIGxhIEFQSVxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIE9wY2lvbmVzIGRlIGxhIHBldGljacOzblxuICAgKiBAcmV0dXJucyBSZXNwdWVzdGEgZGUgbGEgQVBJXG4gICAqIEB0ZW1wbGF0ZSBUUmVzdWx0IC0gVGlwbyBkZSBkYXRvcyBlc3BlcmFkbyBlbiBsYSByZXNwdWVzdGFcbiAgICogQHRlbXBsYXRlIFREYXRhIC0gVGlwbyBkZSBkYXRvcyBhIGVudmlhciBlbiBsYSBwZXRpY2nDs24gKG9wY2lvbmFsKVxuICAgKi9cbiAgZXhlY3V0ZVJlcXVlc3Q8VFJlc3VsdCwgVERhdGEgPSBhbnk+KFxuICAgIG1ldGhvZDogSHR0cE1ldGhvZCxcbiAgICBlbmRwb2ludDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9uczxURGF0YT5cbiAgKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUUmVzdWx0Pj47XG59Il19
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FiscalapiHttpClient = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Cliente HTTP para FiscalAPI
|
|
6
|
+
*/
|
|
7
|
+
class FiscalapiHttpClient {
|
|
8
|
+
/**
|
|
9
|
+
* Crea una nueva instancia del cliente HTTP para FiscalAPI
|
|
10
|
+
* @param {AxiosInstance} httpClient - Instancia de Axios configurada
|
|
11
|
+
* @param {FiscalapiSettings} settings - Configuración para el cliente FiscalAPI
|
|
12
|
+
*/
|
|
13
|
+
constructor(httpClient, settings) {
|
|
14
|
+
this.httpClient = httpClient;
|
|
15
|
+
this.settings = settings;
|
|
16
|
+
// Configurar interceptores para el logging en modo debug
|
|
17
|
+
if (this.settings.debug) {
|
|
18
|
+
this.setupDebugInterceptors();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Configura los interceptores para logear las peticiones y respuestas en modo debug
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
setupDebugInterceptors() {
|
|
26
|
+
// Interceptor para peticiones
|
|
27
|
+
this.httpClient.interceptors.request.use((config) => {
|
|
28
|
+
this.logRequest(config);
|
|
29
|
+
return config;
|
|
30
|
+
});
|
|
31
|
+
// Interceptor para respuestas
|
|
32
|
+
this.httpClient.interceptors.response.use((response) => {
|
|
33
|
+
this.logResponse(response);
|
|
34
|
+
return response;
|
|
35
|
+
}, (error) => {
|
|
36
|
+
if (error.response) {
|
|
37
|
+
this.logResponse(error.response);
|
|
38
|
+
}
|
|
39
|
+
return Promise.reject(error);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Logea los detalles de una petición HTTP cuando el modo debug está activado
|
|
44
|
+
* @param {InternalAxiosRequestConfig} config - Configuración de la petición
|
|
45
|
+
* @private
|
|
46
|
+
*/
|
|
47
|
+
logRequest(config) {
|
|
48
|
+
var _a;
|
|
49
|
+
if (this.settings.debug) {
|
|
50
|
+
console.log('');
|
|
51
|
+
console.log('********************** Raw Request **************************');
|
|
52
|
+
console.log('Method: ', (_a = config.method) === null || _a === void 0 ? void 0 : _a.toUpperCase());
|
|
53
|
+
console.log('BaseURL: ', config.baseURL);
|
|
54
|
+
console.log('PathURL: ', config.url);
|
|
55
|
+
const resource = `${config.baseURL || ''}/${config.url || ''}`;
|
|
56
|
+
console.log('FullURL: ', resource);
|
|
57
|
+
if (config.data) {
|
|
58
|
+
console.log('Body:', typeof config.data === 'string' ? config.data : JSON.stringify(config.data, null, 2));
|
|
59
|
+
}
|
|
60
|
+
console.log('');
|
|
61
|
+
if (config.params) {
|
|
62
|
+
console.log('Params:', config.params);
|
|
63
|
+
}
|
|
64
|
+
console.log('');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Logea los detalles de una respuesta HTTP cuando el modo debug está activado
|
|
69
|
+
* @param {AxiosResponse} response - Respuesta de la petición
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
logResponse(response) {
|
|
73
|
+
if (this.settings.debug) {
|
|
74
|
+
console.log('');
|
|
75
|
+
console.log('********************** Raw Response **************************');
|
|
76
|
+
console.log('');
|
|
77
|
+
console.log('Status:', response.status, response.statusText);
|
|
78
|
+
//console.log('Headers:', response.headers);
|
|
79
|
+
console.log('Data:', JSON.stringify(response.data, null, 2));
|
|
80
|
+
console.log('');
|
|
81
|
+
console.log('*************************************************************');
|
|
82
|
+
console.log('');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Ejecuta una petición HTTP genérica con control completo sobre los parámetros
|
|
87
|
+
* @param {HttpMethod} method - Método HTTP a utilizar
|
|
88
|
+
* @param {string} endpoint - Punto final de la API
|
|
89
|
+
* @param {RequestOptions<TData>} options - Opciones de la petición
|
|
90
|
+
* @returns {Promise<ApiResponse<TResult>>} Respuesta de la API
|
|
91
|
+
* @template TResult - Tipo de datos esperado en la respuesta
|
|
92
|
+
* @template TData - Tipo de datos a enviar en la petición (opcional)
|
|
93
|
+
*/
|
|
94
|
+
async executeRequest(method, endpoint, options = {}) {
|
|
95
|
+
try {
|
|
96
|
+
// Extraer opciones
|
|
97
|
+
const { data, queryParams, config = {}, responseTransformer } = options;
|
|
98
|
+
// Construir configuración de la petición
|
|
99
|
+
const requestConfig = {
|
|
100
|
+
...config,
|
|
101
|
+
method,
|
|
102
|
+
url: endpoint
|
|
103
|
+
};
|
|
104
|
+
// Añadir parámetros de consulta si existen
|
|
105
|
+
if (queryParams && Object.keys(queryParams).length > 0) {
|
|
106
|
+
requestConfig.params = {
|
|
107
|
+
...(requestConfig.params || {}),
|
|
108
|
+
...queryParams
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
// Ejecutar la petición según el método
|
|
112
|
+
let response;
|
|
113
|
+
// Los métodos que no aceptan cuerpo en la petición
|
|
114
|
+
if (method === 'GET' || method === 'HEAD' || method === 'OPTIONS' || method === 'DELETE') {
|
|
115
|
+
// Para DELETE podríamos querer enviar datos en el cuerpo si es necesario
|
|
116
|
+
if (method === 'DELETE' && data) {
|
|
117
|
+
// Aunque no es estándar, algunas APIs aceptan body en DELETE
|
|
118
|
+
requestConfig.data = data;
|
|
119
|
+
}
|
|
120
|
+
response = await this.httpClient.request(requestConfig);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
// Métodos que aceptan cuerpo (POST, PUT, PATCH)
|
|
124
|
+
requestConfig.data = data;
|
|
125
|
+
response = await this.httpClient.request(requestConfig);
|
|
126
|
+
}
|
|
127
|
+
// Procesar la respuesta
|
|
128
|
+
let processedResponse = await this.processResponse(response);
|
|
129
|
+
// Aplicar transformador personalizado si se proporciona
|
|
130
|
+
if (responseTransformer && processedResponse.succeeded) {
|
|
131
|
+
try {
|
|
132
|
+
const transformedData = responseTransformer(processedResponse.data);
|
|
133
|
+
processedResponse = {
|
|
134
|
+
...processedResponse,
|
|
135
|
+
data: transformedData
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
catch (transformError) {
|
|
139
|
+
return {
|
|
140
|
+
data: {},
|
|
141
|
+
succeeded: false,
|
|
142
|
+
message: `Error al transformar la respuesta: ${transformError instanceof Error ? transformError.message : 'Error desconocido'}`,
|
|
143
|
+
details: transformError instanceof Error ? transformError.stack || '' : '',
|
|
144
|
+
httpStatusCode: processedResponse.httpStatusCode
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return processedResponse;
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
return this.handleRequestError(error);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Procesa la respuesta HTTP y la convierte en ApiResponse
|
|
156
|
+
* @param {AxiosResponse} response - Respuesta HTTP original
|
|
157
|
+
* @returns {ApiResponse<T>} Respuesta procesada
|
|
158
|
+
* @template T - Tipo de datos esperado
|
|
159
|
+
* @private
|
|
160
|
+
*/
|
|
161
|
+
async processResponse(response) {
|
|
162
|
+
// Si la respuesta ya es un ApiResponse, lo retornamos con el tipo correcto
|
|
163
|
+
if (response.data &&
|
|
164
|
+
typeof response.data === 'object' &&
|
|
165
|
+
'succeeded' in response.data &&
|
|
166
|
+
'data' in response.data) {
|
|
167
|
+
// La respuesta es un ApiResponse<T>
|
|
168
|
+
const apiResponse = response.data;
|
|
169
|
+
// Aseguramos que el httpStatusCode refleje el status de la respuesta HTTP
|
|
170
|
+
return {
|
|
171
|
+
...apiResponse,
|
|
172
|
+
httpStatusCode: response.status
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
// La respuesta no es un ApiResponse, la encapsulamos
|
|
176
|
+
return {
|
|
177
|
+
data: response.data,
|
|
178
|
+
succeeded: true,
|
|
179
|
+
message: '',
|
|
180
|
+
details: '',
|
|
181
|
+
httpStatusCode: response.status
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Maneja los errores de las peticiones HTTP
|
|
186
|
+
* @param {unknown} error - Error capturado
|
|
187
|
+
* @returns {ApiResponse<T>} Respuesta de error estandarizada
|
|
188
|
+
* @template T - Tipo de datos esperado
|
|
189
|
+
* @private
|
|
190
|
+
*/
|
|
191
|
+
handleRequestError(error) {
|
|
192
|
+
var _a, _b, _c, _d;
|
|
193
|
+
const axiosError = error;
|
|
194
|
+
// Extraer datos de respuesta
|
|
195
|
+
const responseData = (_a = axiosError.response) === null || _a === void 0 ? void 0 : _a.data;
|
|
196
|
+
// Revisar si es un ProblemDetails según RFC 9457
|
|
197
|
+
if (responseData &&
|
|
198
|
+
typeof responseData === 'object' &&
|
|
199
|
+
'type' in responseData &&
|
|
200
|
+
'title' in responseData &&
|
|
201
|
+
'status' in responseData) {
|
|
202
|
+
const problemDetails = responseData;
|
|
203
|
+
return {
|
|
204
|
+
data: {},
|
|
205
|
+
succeeded: false,
|
|
206
|
+
message: problemDetails.title,
|
|
207
|
+
details: problemDetails.detail || JSON.stringify(problemDetails),
|
|
208
|
+
httpStatusCode: ((_b = axiosError.response) === null || _b === void 0 ? void 0 : _b.status) || 500
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
// Revisar si es un ApiResponse<ValidationFailure[]> para errores 400
|
|
212
|
+
if (((_c = axiosError.response) === null || _c === void 0 ? void 0 : _c.status) === 400 &&
|
|
213
|
+
responseData &&
|
|
214
|
+
typeof responseData === 'object' &&
|
|
215
|
+
'data' in responseData &&
|
|
216
|
+
Array.isArray(responseData.data)) {
|
|
217
|
+
const apiResponse = responseData;
|
|
218
|
+
// Si hay errores de validación, extraer el primer mensaje
|
|
219
|
+
if (apiResponse.data && apiResponse.data.length > 0) {
|
|
220
|
+
const firstFailure = apiResponse.data[0];
|
|
221
|
+
return {
|
|
222
|
+
data: {},
|
|
223
|
+
succeeded: false,
|
|
224
|
+
message: firstFailure.errorMessage,
|
|
225
|
+
details: JSON.stringify(apiResponse.data),
|
|
226
|
+
httpStatusCode: 400
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
// Respuesta de error genérica
|
|
231
|
+
return {
|
|
232
|
+
data: {},
|
|
233
|
+
succeeded: false,
|
|
234
|
+
message: axiosError.message || 'Ocurrió un error en la comunicación con el servidor',
|
|
235
|
+
details: JSON.stringify(responseData || {}),
|
|
236
|
+
httpStatusCode: ((_d = axiosError.response) === null || _d === void 0 ? void 0 : _d.status) || 500
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Realiza una petición GET a la API
|
|
241
|
+
* @param {string} endpoint - Punto final de la API
|
|
242
|
+
* @param {AxiosRequestConfig} [config] - Configuración adicional para la petición
|
|
243
|
+
* @returns {Promise<ApiResponse<T>>} Respuesta de la API
|
|
244
|
+
* @template T - Tipo de datos esperado en la respuesta
|
|
245
|
+
*/
|
|
246
|
+
async getAsync(endpoint, config) {
|
|
247
|
+
return this.executeRequest('GET', endpoint, { config });
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Realiza una petición GET por ID a la API
|
|
251
|
+
* @param {string} endpoint - Punto final de la API con ID
|
|
252
|
+
* @param {AxiosRequestConfig} [config] - Configuración adicional para la petición
|
|
253
|
+
* @returns {Promise<ApiResponse<T>>} Respuesta de la API
|
|
254
|
+
* @template T - Tipo de datos esperado en la respuesta
|
|
255
|
+
*/
|
|
256
|
+
async getByIdAsync(endpoint, config) {
|
|
257
|
+
return this.executeRequest('GET', endpoint, { config });
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Realiza una petición POST a la API
|
|
261
|
+
* @param {string} endpoint - Punto final de la API
|
|
262
|
+
* @param {TData} data - Datos a enviar en la petición
|
|
263
|
+
* @param {AxiosRequestConfig} [config] - Configuración adicional para la petición
|
|
264
|
+
* @returns {Promise<ApiResponse<T>>} Respuesta de la API
|
|
265
|
+
* @template T - Tipo de datos esperado en la respuesta
|
|
266
|
+
* @template TData - Tipo de datos a enviar en la petición
|
|
267
|
+
*/
|
|
268
|
+
async postAsync(endpoint, data, config) {
|
|
269
|
+
return this.executeRequest('POST', endpoint, { data, config });
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Realiza una petición PUT a la API
|
|
273
|
+
* @param {string} endpoint - Punto final de la API
|
|
274
|
+
* @param {TData} data - Datos a enviar en la petición
|
|
275
|
+
* @param {AxiosRequestConfig} [config] - Configuración adicional para la petición
|
|
276
|
+
* @returns {Promise<ApiResponse<T>>} Respuesta de la API
|
|
277
|
+
* @template T - Tipo de datos esperado en la respuesta
|
|
278
|
+
* @template TData - Tipo de datos a enviar en la petición
|
|
279
|
+
*/
|
|
280
|
+
async putAsync(endpoint, data, config) {
|
|
281
|
+
return this.executeRequest('PUT', endpoint, { data, config });
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Realiza una petición DELETE a la API
|
|
285
|
+
* @param {string} endpoint - Punto final de la API
|
|
286
|
+
* @param {AxiosRequestConfig} [config] - Configuración adicional para la petición
|
|
287
|
+
* @returns {Promise<ApiResponse<boolean>>} Respuesta de la API
|
|
288
|
+
*/
|
|
289
|
+
async deleteAsync(endpoint, config) {
|
|
290
|
+
return this.executeRequest('DELETE', endpoint, { config });
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Realiza una petición PATCH a la API
|
|
294
|
+
* @param {string} endpoint - Punto final de la API
|
|
295
|
+
* @param {TData} data - Datos a enviar en la petición
|
|
296
|
+
* @param {AxiosRequestConfig} [config] - Configuración adicional para la petición
|
|
297
|
+
* @returns {Promise<ApiResponse<T>>} Respuesta de la API
|
|
298
|
+
* @template T - Tipo de datos esperado en la respuesta
|
|
299
|
+
* @template TData - Tipo de datos a enviar en la petición
|
|
300
|
+
*/
|
|
301
|
+
async patchAsync(endpoint, data, config) {
|
|
302
|
+
return this.executeRequest('PATCH', endpoint, { data, config });
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
exports.FiscalapiHttpClient = FiscalapiHttpClient;
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlzY2FsYXBpLWh0dHAtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2h0dHAvZmlzY2FsYXBpLWh0dHAtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFJOUI7Ozs7T0FJRztJQUNILFlBQVksVUFBeUIsRUFBRSxRQUEyQjtRQUNoRSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUV6Qix5REFBeUQ7UUFDekQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssc0JBQXNCO1FBQzVCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBa0MsRUFBRSxFQUFFO1lBQzlFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFFSCw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDdkMsQ0FBQyxRQUF1QixFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzQixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLEVBQ0QsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDcEIsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxPQUFPLE9BQU8s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QUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQ2IsUUFBZ0IsRUFDaEIsSUFBVyxFQUNYLE1BQTJCO1FBRTNCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBVyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FDWixRQUFnQixFQUNoQixJQUFXLEVBQ1gsTUFBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFXLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsV0FBVyxDQUNmLFFBQWdCLEVBQ2hCLE1BQTJCO1FBRTNCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBVSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUNkLFFBQWdCLEVBQ2hCLElBQVcsRUFDWCxNQUEyQjtRQUUzQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQVcsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDRjtBQXRXRCxrREFzV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBcbiAgQXhpb3NJbnN0YW5jZSwgXG4gIEF4aW9zRXJyb3IsIFxuICBBeGlvc1Jlc3BvbnNlLCBcbiAgQXhpb3NSZXF1ZXN0Q29uZmlnLFxuICBJbnRlcm5hbEF4aW9zUmVxdWVzdENvbmZpZ1xufSBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBGaXNjYWxhcGlTZXR0aW5ncyB9IGZyb20gJy4vLi4vY29tbW9uL2Zpc2NhbGFwaS1zZXR0aW5ncyc7XG5pbXBvcnQgeyBJRmlzY2FsYXBpSHR0cENsaWVudCwgSHR0cE1ldGhvZCwgUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL2Zpc2NhbGFwaS1odHRwLWNsaWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBpUmVzcG9uc2UsIFByb2JsZW1EZXRhaWxzLCBWYWxpZGF0aW9uRmFpbHVyZSB9IGZyb20gJy4uL2NvbW1vbi9hcGktcmVzcG9uc2UnO1xuXG4vKipcbiAqIENsaWVudGUgSFRUUCBwYXJhIEZpc2NhbEFQSVxuICovXG5leHBvcnQgY2xhc3MgRmlzY2FsYXBpSHR0cENsaWVudCBpbXBsZW1lbnRzIElGaXNjYWxhcGlIdHRwQ2xpZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBBeGlvc0luc3RhbmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzOiBGaXNjYWxhcGlTZXR0aW5ncztcblxuICAvKipcbiAgICogQ3JlYSB1bmEgbnVldmEgaW5zdGFuY2lhIGRlbCBjbGllbnRlIEhUVFAgcGFyYSBGaXNjYWxBUElcbiAgICogQHBhcmFtIHtBeGlvc0luc3RhbmNlfSBodHRwQ2xpZW50IC0gSW5zdGFuY2lhIGRlIEF4aW9zIGNvbmZpZ3VyYWRhXG4gICAqIEBwYXJhbSB7RmlzY2FsYXBpU2V0dGluZ3N9IHNldHRpbmdzIC0gQ29uZmlndXJhY2nDs24gcGFyYSBlbCBjbGllbnRlIEZpc2NhbEFQSVxuICAgKi9cbiAgY29uc3RydWN0b3IoaHR0cENsaWVudDogQXhpb3NJbnN0YW5jZSwgc2V0dGluZ3M6IEZpc2NhbGFwaVNldHRpbmdzKSB7XG4gICAgdGhpcy5odHRwQ2xpZW50ID0gaHR0cENsaWVudDtcbiAgICB0aGlzLnNldHRpbmdzID0gc2V0dGluZ3M7XG5cbiAgICAvLyBDb25maWd1cmFyIGludGVyY2VwdG9yZXMgcGFyYSBlbCBsb2dnaW5nIGVuIG1vZG8gZGVidWdcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5kZWJ1Zykge1xuICAgICAgdGhpcy5zZXR1cERlYnVnSW50ZXJjZXB0b3JzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYSBsb3MgaW50ZXJjZXB0b3JlcyBwYXJhIGxvZ2VhciBsYXMgcGV0aWNpb25lcyB5IHJlc3B1ZXN0YXMgZW4gbW9kbyBkZWJ1Z1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXR1cERlYnVnSW50ZXJjZXB0b3JzKCk6IHZvaWQge1xuICAgIC8vIEludGVyY2VwdG9yIHBhcmEgcGV0aWNpb25lc1xuICAgIHRoaXMuaHR0cENsaWVudC5pbnRlcmNlcHRvcnMucmVxdWVzdC51c2UoKGNvbmZpZzogSW50ZXJuYWxBeGlvc1JlcXVlc3RDb25maWcpID0+IHtcbiAgICAgIHRoaXMubG9nUmVxdWVzdChjb25maWcpO1xuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9KTtcblxuICAgIC8vIEludGVyY2VwdG9yIHBhcmEgcmVzcHVlc3Rhc1xuICAgIHRoaXMuaHR0cENsaWVudC5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKFxuICAgICAgKHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMubG9nUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBBeGlvc0Vycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvci5yZXNwb25zZSkge1xuICAgICAgICAgIHRoaXMubG9nUmVzcG9uc2UoZXJyb3IucmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dlYSBsb3MgZGV0YWxsZXMgZGUgdW5hIHBldGljacOzbiBIVFRQIGN1YW5kbyBlbCBtb2RvIGRlYnVnIGVzdMOhIGFjdGl2YWRvXG4gICAqIEBwYXJhbSB7SW50ZXJuYWxBeGlvc1JlcXVlc3RDb25maWd9IGNvbmZpZyAtIENvbmZpZ3VyYWNpw7NuIGRlIGxhIHBldGljacOzblxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBsb2dSZXF1ZXN0KGNvbmZpZzogSW50ZXJuYWxBeGlvc1JlcXVlc3RDb25maWcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5kZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgY29uc29sZS5sb2coJyoqKioqKioqKioqKioqKioqKioqKiogUmF3IFJlcXVlc3QgKioqKioqKioqKioqKioqKioqKioqKioqKionKTtcbiAgICAgIFxuICAgICAgY29uc29sZS5sb2coJ01ldGhvZDogJywgIGNvbmZpZy5tZXRob2Q/LnRvVXBwZXJDYXNlKCkpO1xuICAgICAgY29uc29sZS5sb2coJ0Jhc2VVUkw6ICcsIGNvbmZpZy5iYXNlVVJMKTtcbiAgICAgIGNvbnNvbGUubG9nKCdQYXRoVVJMOiAnLCBjb25maWcudXJsKTtcbiAgICAgIGNvbnN0IHJlc291cmNlID0gYCR7Y29uZmlnLmJhc2VVUkwgfHwgJyd9LyR7Y29uZmlnLnVybCB8fCAnJ31gO1xuICAgICAgY29uc29sZS5sb2coJ0Z1bGxVUkw6ICcsIHJlc291cmNlKTtcbiAgICAgIFxuICAgICAgaWYgKGNvbmZpZy5kYXRhKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdCb2R5OicsIHR5cGVvZiBjb25maWcuZGF0YSA9PT0gJ3N0cmluZycgPyBjb25maWcuZGF0YSA6IEpTT04uc3RyaW5naWZ5KGNvbmZpZy5kYXRhLCBudWxsLCAyKSk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgIFxuICAgICAgaWYgKGNvbmZpZy5wYXJhbXMpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1BhcmFtczonLCBjb25maWcucGFyYW1zKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgY29uc29sZS5sb2coJycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dlYSBsb3MgZGV0YWxsZXMgZGUgdW5hIHJlc3B1ZXN0YSBIVFRQIGN1YW5kbyBlbCBtb2RvIGRlYnVnIGVzdMOhIGFjdGl2YWRvXG4gICAqIEBwYXJhbSB7QXhpb3NSZXNwb25zZX0gcmVzcG9uc2UgLSBSZXNwdWVzdGEgZGUgbGEgcGV0aWNpw7NuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGxvZ1Jlc3BvbnNlKHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2V0dGluZ3MuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgIGNvbnNvbGUubG9nKCcqKioqKioqKioqKioqKioqKioqKioqIFJhdyBSZXNwb25zZSAqKioqKioqKioqKioqKioqKioqKioqKioqKicpO1xuICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgY29uc29sZS5sb2coJ1N0YXR1czonLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLnN0YXR1c1RleHQpO1xuICAgICAgLy9jb25zb2xlLmxvZygnSGVhZGVyczonLCByZXNwb25zZS5oZWFkZXJzKTtcbiAgICAgIGNvbnNvbGUubG9nKCdEYXRhOicsIEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLmRhdGEsIG51bGwsIDIpKTtcblxuICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgY29uc29sZS5sb2coJyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKionKTtcbiAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRWplY3V0YSB1bmEgcGV0aWNpw7NuIEhUVFAgZ2Vuw6lyaWNhIGNvbiBjb250cm9sIGNvbXBsZXRvIHNvYnJlIGxvcyBwYXLDoW1ldHJvc1xuICAgKiBAcGFyYW0ge0h0dHBNZXRob2R9IG1ldGhvZCAtIE3DqXRvZG8gSFRUUCBhIHV0aWxpemFyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbmRwb2ludCAtIFB1bnRvIGZpbmFsIGRlIGxhIEFQSVxuICAgKiBAcGFyYW0ge1JlcXVlc3RPcHRpb25zPFREYXRhPn0gb3B0aW9ucyAtIE9wY2lvbmVzIGRlIGxhIHBldGljacOzblxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcGlSZXNwb25zZTxUUmVzdWx0Pj59IFJlc3B1ZXN0YSBkZSBsYSBBUElcbiAgICogQHRlbXBsYXRlIFRSZXN1bHQgLSBUaXBvIGRlIGRhdG9zIGVzcGVyYWRvIGVuIGxhIHJlc3B1ZXN0YVxuICAgKiBAdGVtcGxhdGUgVERhdGEgLSBUaXBvIGRlIGRhdG9zIGEgZW52aWFyIGVuIGxhIHBldGljacOzbiAob3BjaW9uYWwpXG4gICAqL1xuICBhc3luYyBleGVjdXRlUmVxdWVzdDxUUmVzdWx0LCBURGF0YSA9IGFueT4oXG4gICAgbWV0aG9kOiBIdHRwTWV0aG9kLFxuICAgIGVuZHBvaW50OiBzdHJpbmcsXG4gICAgb3B0aW9uczogUmVxdWVzdE9wdGlvbnM8VERhdGE+ID0ge31cbiAgKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUUmVzdWx0Pj4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBFeHRyYWVyIG9wY2lvbmVzXG4gICAgICBjb25zdCB7IGRhdGEsIHF1ZXJ5UGFyYW1zLCBjb25maWcgPSB7fSwgcmVzcG9uc2VUcmFuc2Zvcm1lciB9ID0gb3B0aW9ucztcbiAgICAgIFxuICAgICAgLy8gQ29uc3RydWlyIGNvbmZpZ3VyYWNpw7NuIGRlIGxhIHBldGljacOzblxuICAgICAgY29uc3QgcmVxdWVzdENvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0ge1xuICAgICAgICAuLi5jb25maWcsXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgdXJsOiBlbmRwb2ludFxuICAgICAgfTtcbiAgICAgIFxuICAgICAgLy8gQcOxYWRpciBwYXLDoW1ldHJvcyBkZSBjb25zdWx0YSBzaSBleGlzdGVuXG4gICAgICBpZiAocXVlcnlQYXJhbXMgJiYgT2JqZWN0LmtleXMocXVlcnlQYXJhbXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVxdWVzdENvbmZpZy5wYXJhbXMgPSB7XG4gICAgICAgICAgLi4uKHJlcXVlc3RDb25maWcucGFyYW1zIHx8IHt9KSxcbiAgICAgICAgICAuLi5xdWVyeVBhcmFtc1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBFamVjdXRhciBsYSBwZXRpY2nDs24gc2Vnw7puIGVsIG3DqXRvZG9cbiAgICAgIGxldCByZXNwb25zZTogQXhpb3NSZXNwb25zZTtcbiAgICAgIFxuICAgICAgLy8gTG9zIG3DqXRvZG9zIHF1ZSBubyBhY2VwdGFuIGN1ZXJwbyBlbiBsYSBwZXRpY2nDs25cbiAgICAgIGlmIChtZXRob2QgPT09ICdHRVQnIHx8IG1ldGhvZCA9PT0gJ0hFQUQnIHx8IG1ldGhvZCA9PT0gJ09QVElPTlMnIHx8IG1ldGhvZCA9PT0gJ0RFTEVURScpIHtcbiAgICAgICAgLy8gUGFyYSBERUxFVEUgcG9kcsOtYW1vcyBxdWVyZXIgZW52aWFyIGRhdG9zIGVuIGVsIGN1ZXJwbyBzaSBlcyBuZWNlc2FyaW9cbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ0RFTEVURScgJiYgZGF0YSkge1xuICAgICAgICAgIC8vIEF1bnF1ZSBubyBlcyBlc3TDoW5kYXIsIGFsZ3VuYXMgQVBJcyBhY2VwdGFuIGJvZHkgZW4gREVMRVRFXG4gICAgICAgICAgcmVxdWVzdENvbmZpZy5kYXRhID0gZGF0YTtcbiAgICAgICAgfVxuICAgICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHJlcXVlc3RDb25maWcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTcOpdG9kb3MgcXVlIGFjZXB0YW4gY3VlcnBvIChQT1NULCBQVVQsIFBBVENIKVxuICAgICAgICByZXF1ZXN0Q29uZmlnLmRhdGEgPSBkYXRhO1xuICAgICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0KHJlcXVlc3RDb25maWcpO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBQcm9jZXNhciBsYSByZXNwdWVzdGFcbiAgICAgIGxldCBwcm9jZXNzZWRSZXNwb25zZSA9IGF3YWl0IHRoaXMucHJvY2Vzc1Jlc3BvbnNlPFRSZXN1bHQ+KHJlc3BvbnNlKTtcbiAgICAgIFxuICAgICAgLy8gQXBsaWNhciB0cmFuc2Zvcm1hZG9yIHBlcnNvbmFsaXphZG8gc2kgc2UgcHJvcG9yY2lvbmFcbiAgICAgIGlmIChyZXNwb25zZVRyYW5zZm9ybWVyICYmIHByb2Nlc3NlZFJlc3BvbnNlLnN1Y2NlZWRlZCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRGF0YSA9IHJlc3BvbnNlVHJhbnNmb3JtZXIocHJvY2Vzc2VkUmVzcG9uc2UuZGF0YSk7XG4gICAgICAgICAgcHJvY2Vzc2VkUmVzcG9uc2UgPSB7XG4gICAgICAgICAgICAuLi5wcm9jZXNzZWRSZXNwb25zZSxcbiAgICAgICAgICAgIGRhdGE6IHRyYW5zZm9ybWVkRGF0YSBhcyBUUmVzdWx0XG4gICAgICAgICAgfTtcbiAgICAgICAgfSBjYXRjaCAodHJhbnNmb3JtRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF0YToge30gYXMgVFJlc3VsdCxcbiAgICAgICAgICAgIHN1Y2NlZWRlZDogZmFsc2UsXG4gICAgICAgICAgICBtZXNzYWdlOiBgRXJyb3IgYWwgdHJhbnNmb3JtYXIgbGEgcmVzcHVlc3RhOiAke3RyYW5zZm9ybUVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyB0cmFuc2Zvcm1FcnJvci5tZXNzYWdlIDogJ0Vycm9yIGRlc2Nvbm9jaWRvJ31gLFxuICAgICAgICAgICAgZGV0YWlsczogdHJhbnNmb3JtRXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IHRyYW5zZm9ybUVycm9yLnN0YWNrIHx8ICcnIDogJycsXG4gICAgICAgICAgICBodHRwU3RhdHVzQ29kZTogcHJvY2Vzc2VkUmVzcG9uc2UuaHR0cFN0YXR1c0NvZGVcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgIHJldHVybiBwcm9jZXNzZWRSZXNwb25zZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVxdWVzdEVycm9yPFRSZXN1bHQ+KGVycm9yKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBQcm9jZXNhIGxhIHJlc3B1ZXN0YSBIVFRQIHkgbGEgY29udmllcnRlIGVuIEFwaVJlc3BvbnNlXG4gICAqIEBwYXJhbSB7QXhpb3NSZXNwb25zZX0gcmVzcG9uc2UgLSBSZXNwdWVzdGEgSFRUUCBvcmlnaW5hbFxuICAgKiBAcmV0dXJucyB7QXBpUmVzcG9uc2U8VD59IFJlc3B1ZXN0YSBwcm9jZXNhZGFcbiAgICogQHRlbXBsYXRlIFQgLSBUaXBvIGRlIGRhdG9zIGVzcGVyYWRvXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHByb2Nlc3NSZXNwb25zZTxUPihyZXNwb25zZTogQXhpb3NSZXNwb25zZSk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICAvLyBTaSBsYSByZXNwdWVzdGEgeWEgZXMgdW4gQXBpUmVzcG9uc2UsIGxvIHJldG9ybmFtb3MgY29uIGVsIHRpcG8gY29ycmVjdG9cbiAgICBpZiAoXG4gICAgICByZXNwb25zZS5kYXRhICYmIFxuICAgICAgdHlwZW9mIHJlc3BvbnNlLmRhdGEgPT09ICdvYmplY3QnICYmIFxuICAgICAgJ3N1Y2NlZWRlZCcgaW4gcmVzcG9uc2UuZGF0YSAmJiBcbiAgICAgICdkYXRhJyBpbiByZXNwb25zZS5kYXRhXG4gICAgKSB7XG4gICAgICAvLyBMYSByZXNwdWVzdGEgZXMgdW4gQXBpUmVzcG9uc2U8VD5cbiAgICAgIGNvbnN0IGFwaVJlc3BvbnNlID0gcmVzcG9uc2UuZGF0YSBhcyB1bmtub3duIGFzIEFwaVJlc3BvbnNlPFQ+O1xuICAgICAgXG4gICAgICAvLyBBc2VndXJhbW9zIHF1ZSBlbCBodHRwU3RhdHVzQ29kZSByZWZsZWplIGVsIHN0YXR1cyBkZSBsYSByZXNwdWVzdGEgSFRUUFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYXBpUmVzcG9uc2UsXG4gICAgICAgIGh0dHBTdGF0dXNDb2RlOiByZXNwb25zZS5zdGF0dXNcbiAgICAgIH07XG4gICAgfVxuICAgIFxuICAgIC8vIExhIHJlc3B1ZXN0YSBubyBlcyB1biBBcGlSZXNwb25zZSwgbGEgZW5jYXBzdWxhbW9zXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IHJlc3BvbnNlLmRhdGEgYXMgdW5rbm93biBhcyBULFxuICAgICAgc3VjY2VlZGVkOiB0cnVlLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgICBkZXRhaWxzOiAnJyxcbiAgICAgIGh0dHBTdGF0dXNDb2RlOiByZXNwb25zZS5zdGF0dXNcbiAgICB9O1xuICB9XG4gIFxuICAvKipcbiAgICogTWFuZWphIGxvcyBlcnJvcmVzIGRlIGxhcyBwZXRpY2lvbmVzIEhUVFBcbiAgICogQHBhcmFtIHt1bmtub3dufSBlcnJvciAtIEVycm9yIGNhcHR1cmFkb1xuICAgKiBAcmV0dXJucyB7QXBpUmVzcG9uc2U8VD59IFJlc3B1ZXN0YSBkZSBlcnJvciBlc3RhbmRhcml6YWRhXG4gICAqIEB0ZW1wbGF0ZSBUIC0gVGlwbyBkZSBkYXRvcyBlc3BlcmFkb1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBoYW5kbGVSZXF1ZXN0RXJyb3I8VD4oZXJyb3I6IHVua25vd24pOiBBcGlSZXNwb25zZTxUPiB7XG4gICAgY29uc3QgYXhpb3NFcnJvciA9IGVycm9yIGFzIEF4aW9zRXJyb3I7XG4gICAgXG4gICAgLy8gRXh0cmFlciBkYXRvcyBkZSByZXNwdWVzdGFcbiAgICBjb25zdCByZXNwb25zZURhdGEgPSBheGlvc0Vycm9yLnJlc3BvbnNlPy5kYXRhO1xuICAgIFxuICAgIC8vIFJldmlzYXIgc2kgZXMgdW4gUHJvYmxlbURldGFpbHMgc2Vnw7puIFJGQyA5NDU3XG4gICAgaWYgKFxuICAgICAgcmVzcG9uc2VEYXRhICYmIFxuICAgICAgdHlwZW9mIHJlc3BvbnNlRGF0YSA9PT0gJ29iamVjdCcgJiYgXG4gICAgICAndHlwZScgaW4gcmVzcG9uc2VEYXRhICYmIFxuICAgICAgJ3RpdGxlJyBpbiByZXNwb25zZURhdGEgJiZcbiAgICAgICdzdGF0dXMnIGluIHJlc3BvbnNlRGF0YVxuICAgICkge1xuICAgICAgY29uc3QgcHJvYmxlbURldGFpbHMgPSByZXNwb25zZURhdGEgYXMgUHJvYmxlbURldGFpbHM7XG4gICAgICBcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGE6IHt9IGFzIFQsXG4gICAgICAgIHN1Y2NlZWRlZDogZmFsc2UsXG4gICAgICAgIG1lc3NhZ2U6IHByb2JsZW1EZXRhaWxzLnRpdGxlLFxuICAgICAgICBkZXRhaWxzOiBwcm9ibGVtRGV0YWlscy5kZXRhaWwgfHwgSlNPTi5zdHJpbmdpZnkocHJvYmxlbURldGFpbHMpLFxuICAgICAgICBodHRwU3RhdHVzQ29kZTogYXhpb3NFcnJvci5yZXNwb25zZT8uc3RhdHVzIHx8IDUwMFxuICAgICAgfTtcbiAgICB9XG4gICAgXG4gICAgLy8gUmV2aXNhciBzaSBlcyB1biBBcGlSZXNwb25zZTxWYWxpZGF0aW9uRmFpbHVyZVtdPiBwYXJhIGVycm9yZXMgNDAwXG4gICAgaWYgKFxuICAgICAgYXhpb3NFcnJvci5yZXNwb25zZT8uc3RhdHVzID09PSA0MDAgJiZcbiAgICAgIHJlc3BvbnNlRGF0YSAmJlxuICAgICAgdHlwZW9mIHJlc3BvbnNlRGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICdkYXRhJyBpbiByZXNwb25zZURhdGEgJiZcbiAgICAgIEFycmF5LmlzQXJyYXkocmVzcG9uc2VEYXRhLmRhdGEpXG4gICAgKSB7XG4gICAgICBjb25zdCBhcGlSZXNwb25zZSA9IHJlc3BvbnNlRGF0YSBhcyBBcGlSZXNwb25zZTxWYWxpZGF0aW9uRmFpbHVyZVtdPjtcbiAgICAgIFxuICAgICAgLy8gU2kgaGF5IGVycm9yZXMgZGUgdmFsaWRhY2nDs24sIGV4dHJhZXIgZWwgcHJpbWVyIG1lbnNhamVcbiAgICAgIGlmIChhcGlSZXNwb25zZS5kYXRhICYmIGFwaVJlc3BvbnNlLmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBmaXJzdEZhaWx1cmUgPSBhcGlSZXNwb25zZS5kYXRhWzBdO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IHt9IGFzIFQsXG4gICAgICAgICAgc3VjY2VlZGVkOiBmYWxzZSxcbiAgICAgICAgICBtZXNzYWdlOiBmaXJzdEZhaWx1cmUuZXJyb3JNZXNzYWdlLFxuICAgICAgICAgIGRldGFpbHM6IEpTT04uc3RyaW5naWZ5KGFwaVJlc3BvbnNlLmRhdGEpLFxuICAgICAgICAgIGh0dHBTdGF0dXNDb2RlOiA0MDBcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gUmVzcHVlc3RhIGRlIGVycm9yIGdlbsOpcmljYVxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB7fSBhcyBULFxuICAgICAgc3VjY2VlZGVkOiBmYWxzZSxcbiAgICAgIG1lc3NhZ2U6IGF4aW9zRXJyb3IubWVzc2FnZSB8fCAnT2N1cnJpw7MgdW4gZXJyb3IgZW4gbGEgY29tdW5pY2FjacOzbiBjb24gZWwgc2Vydmlkb3InLFxuICAgICAgZGV0YWlsczogSlNPTi5zdHJpbmdpZnkocmVzcG9uc2VEYXRhIHx8IHt9KSxcbiAgICAgIGh0dHBTdGF0dXNDb2RlOiBheGlvc0Vycm9yLnJlc3BvbnNlPy5zdGF0dXMgfHwgNTAwXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFsaXphIHVuYSBwZXRpY2nDs24gR0VUIGEgbGEgQVBJXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbmRwb2ludCAtIFB1bnRvIGZpbmFsIGRlIGxhIEFQSVxuICAgKiBAcGFyYW0ge0F4aW9zUmVxdWVzdENvbmZpZ30gW2NvbmZpZ10gLSBDb25maWd1cmFjacOzbiBhZGljaW9uYWwgcGFyYSBsYSBwZXRpY2nDs25cbiAgICogQHJldHVybnMge1Byb21pc2U8QXBpUmVzcG9uc2U8VD4+fSBSZXNwdWVzdGEgZGUgbGEgQVBJXG4gICAqIEB0ZW1wbGF0ZSBUIC0gVGlwbyBkZSBkYXRvcyBlc3BlcmFkbyBlbiBsYSByZXNwdWVzdGFcbiAgICovXG4gIGFzeW5jIGdldEFzeW5jPFQ+KGVuZHBvaW50OiBzdHJpbmcsIGNvbmZpZz86IEF4aW9zUmVxdWVzdENvbmZpZyk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlUmVxdWVzdDxUPignR0VUJywgZW5kcG9pbnQsIHsgY29uZmlnIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWxpemEgdW5hIHBldGljacOzbiBHRVQgcG9yIElEIGEgbGEgQVBJXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbmRwb2ludCAtIFB1bnRvIGZpbmFsIGRlIGxhIEFQSSBjb24gSURcbiAgICogQHBhcmFtIHtBeGlvc1JlcXVlc3RDb25maWd9IFtjb25maWddIC0gQ29uZmlndXJhY2nDs24gYWRpY2lvbmFsIHBhcmEgbGEgcGV0aWNpw7NuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFwaVJlc3BvbnNlPFQ+Pn0gUmVzcHVlc3RhIGRlIGxhIEFQSVxuICAgKiBAdGVtcGxhdGUgVCAtIFRpcG8gZGUgZGF0b3MgZXNwZXJhZG8gZW4gbGEgcmVzcHVlc3RhXG4gICAqL1xuICBhc3luYyBnZXRCeUlkQXN5bmM8VD4oZW5kcG9pbnQ6IHN0cmluZywgY29uZmlnPzogQXhpb3NSZXF1ZXN0Q29uZmlnKTogUHJvbWlzZTxBcGlSZXNwb25zZTxUPj4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVSZXF1ZXN0PFQ+KCdHRVQnLCBlbmRwb2ludCwgeyBjb25maWcgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVhbGl6YSB1bmEgcGV0aWNpw7NuIFBPU1QgYSBsYSBBUElcbiAgICogQHBhcmFtIHtzdHJpbmd9IGVuZHBvaW50IC0gUHVudG8gZmluYWwgZGUgbGEgQVBJXG4gICAqIEBwYXJhbSB7VERhdGF9IGRhdGEgLSBEYXRvcyBhIGVudmlhciBlbiBsYSBwZXRpY2nDs25cbiAgICogQHBhcmFtIHtBeGlvc1JlcXVlc3RDb25maWd9IFtjb25maWddIC0gQ29uZmlndXJhY2nDs24gYWRpY2lvbmFsIHBhcmEgbGEgcGV0aWNpw7NuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFwaVJlc3BvbnNlPFQ+Pn0gUmVzcHVlc3RhIGRlIGxhIEFQSVxuICAgKiBAdGVtcGxhdGUgVCAtIFRpcG8gZGUgZGF0b3MgZXNwZXJhZG8gZW4gbGEgcmVzcHVlc3RhXG4gICAqIEB0ZW1wbGF0ZSBURGF0YSAtIFRpcG8gZGUgZGF0b3MgYSBlbnZpYXIgZW4gbGEgcGV0aWNpw7NuXG4gICAqL1xuICBhc3luYyBwb3N0QXN5bmM8VCwgVERhdGEgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gICAgZW5kcG9pbnQ6IHN0cmluZywgXG4gICAgZGF0YTogVERhdGEsIFxuICAgIGNvbmZpZz86IEF4aW9zUmVxdWVzdENvbmZpZ1xuICApOiBQcm9taXNlPEFwaVJlc3BvbnNlPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZVJlcXVlc3Q8VCwgVERhdGE+KCdQT1NUJywgZW5kcG9pbnQsIHsgZGF0YSwgY29uZmlnIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWxpemEgdW5hIHBldGljacOzbiBQVVQgYSBsYSBBUElcbiAgICogQHBhcmFtIHtzdHJpbmd9IGVuZHBvaW50IC0gUHVudG8gZmluYWwgZGUgbGEgQVBJXG4gICAqIEBwYXJhbSB7VERhdGF9IGRhdGEgLSBEYXRvcyBhIGVudmlhciBlbiBsYSBwZXRpY2nDs25cbiAgICogQHBhcmFtIHtBeGlvc1JlcXVlc3RDb25maWd9IFtjb25maWddIC0gQ29uZmlndXJhY2nDs24gYWRpY2lvbmFsIHBhcmEgbGEgcGV0aWNpw7NuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFwaVJlc3BvbnNlPFQ+Pn0gUmVzcHVlc3RhIGRlIGxhIEFQSVxuICAgKiBAdGVtcGxhdGUgVCAtIFRpcG8gZGUgZGF0b3MgZXNwZXJhZG8gZW4gbGEgcmVzcHVlc3RhXG4gICAqIEB0ZW1wbGF0ZSBURGF0YSAtIFRpcG8gZGUgZGF0b3MgYSBlbnZpYXIgZW4gbGEgcGV0aWNpw7NuXG4gICAqL1xuICBhc3luYyBwdXRBc3luYzxULCBURGF0YSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgICBlbmRwb2ludDogc3RyaW5nLCBcbiAgICBkYXRhOiBURGF0YSwgXG4gICAgY29uZmlnPzogQXhpb3NSZXF1ZXN0Q29uZmlnXG4gICk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlUmVxdWVzdDxULCBURGF0YT4oJ1BVVCcsIGVuZHBvaW50LCB7IGRhdGEsIGNvbmZpZyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFsaXphIHVuYSBwZXRpY2nDs24gREVMRVRFIGEgbGEgQVBJXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbmRwb2ludCAtIFB1bnRvIGZpbmFsIGRlIGxhIEFQSVxuICAgKiBAcGFyYW0ge0F4aW9zUmVxdWVzdENvbmZpZ30gW2NvbmZpZ10gLSBDb25maWd1cmFjacOzbiBhZGljaW9uYWwgcGFyYSBsYSBwZXRpY2nDs25cbiAgICogQHJldHVybnMge1Byb21pc2U8QXBpUmVzcG9uc2U8Ym9vbGVhbj4+fSBSZXNwdWVzdGEgZGUgbGEgQVBJXG4gICAqL1xuICBhc3luYyBkZWxldGVBc3luYyhcbiAgICBlbmRwb2ludDogc3RyaW5nLCBcbiAgICBjb25maWc/OiBBeGlvc1JlcXVlc3RDb25maWdcbiAgKTogUHJvbWlzZTxBcGlSZXNwb25zZTxib29sZWFuPj4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVSZXF1ZXN0PGJvb2xlYW4+KCdERUxFVEUnLCBlbmRwb2ludCwgeyBjb25maWcgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVhbGl6YSB1bmEgcGV0aWNpw7NuIFBBVENIIGEgbGEgQVBJXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbmRwb2ludCAtIFB1bnRvIGZpbmFsIGRlIGxhIEFQSVxuICAgKiBAcGFyYW0ge1REYXRhfSBkYXRhIC0gRGF0b3MgYSBlbnZpYXIgZW4gbGEgcGV0aWNpw7NuXG4gICAqIEBwYXJhbSB7QXhpb3NSZXF1ZXN0Q29uZmlnfSBbY29uZmlnXSAtIENvbmZpZ3VyYWNpw7NuIGFkaWNpb25hbCBwYXJhIGxhIHBldGljacOzblxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxBcGlSZXNwb25zZTxUPj59IFJlc3B1ZXN0YSBkZSBsYSBBUElcbiAgICogQHRlbXBsYXRlIFQgLSBUaXBvIGRlIGRhdG9zIGVzcGVyYWRvIGVuIGxhIHJlc3B1ZXN0YVxuICAgKiBAdGVtcGxhdGUgVERhdGEgLSBUaXBvIGRlIGRhdG9zIGEgZW52aWFyIGVuIGxhIHBldGljacOzblxuICAgKi9cbiAgYXN5bmMgcGF0Y2hBc3luYzxULCBURGF0YSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgICBlbmRwb2ludDogc3RyaW5nLCBcbiAgICBkYXRhOiBURGF0YSwgXG4gICAgY29uZmlnPzogQXhpb3NSZXF1ZXN0Q29uZmlnXG4gICk6IFByb21pc2U8QXBpUmVzcG9uc2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlUmVxdWVzdDxULCBURGF0YT4oJ1BBVENIJywgZW5kcG9pbnQsIHsgZGF0YSwgY29uZmlnIH0pO1xuICB9XG59Il19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isObjectEmpty = exports.isArrayNullOrEmpty = exports.isNullOrEmpty = exports.isNullOrUndefined = exports.decodeFromBase64 = exports.encodeToBase64 = exports.SAT_DATE_FORMAT = exports.parseSatDate = exports.formatSatDate = exports.CatalogDto = exports.SerializableDto = exports.AuditableDto = exports.BaseDto = exports.PagedList = exports.FiscalapiClient = void 0;
|
|
4
|
+
// Exportar API pública
|
|
5
|
+
// Cliente principal
|
|
6
|
+
var fiscalapi_client_1 = require("./services/fiscalapi-client");
|
|
7
|
+
Object.defineProperty(exports, "FiscalapiClient", { enumerable: true, get: function () { return fiscalapi_client_1.FiscalapiClient; } });
|
|
8
|
+
var paged_list_1 = require("./common/paged-list");
|
|
9
|
+
Object.defineProperty(exports, "PagedList", { enumerable: true, get: function () { return paged_list_1.PagedList; } });
|
|
10
|
+
var base_dto_1 = require("./common/base-dto");
|
|
11
|
+
Object.defineProperty(exports, "BaseDto", { enumerable: true, get: function () { return base_dto_1.BaseDto; } });
|
|
12
|
+
var auditable_dto_1 = require("./common/auditable-dto");
|
|
13
|
+
Object.defineProperty(exports, "AuditableDto", { enumerable: true, get: function () { return auditable_dto_1.AuditableDto; } });
|
|
14
|
+
var serializable_dto_1 = require("./common/serializable-dto");
|
|
15
|
+
Object.defineProperty(exports, "SerializableDto", { enumerable: true, get: function () { return serializable_dto_1.SerializableDto; } });
|
|
16
|
+
var catalog_dto_1 = require("./common/catalog-dto");
|
|
17
|
+
Object.defineProperty(exports, "CatalogDto", { enumerable: true, get: function () { return catalog_dto_1.CatalogDto; } });
|
|
18
|
+
// Utilidades
|
|
19
|
+
var date_utils_1 = require("./utils/date-utils");
|
|
20
|
+
Object.defineProperty(exports, "formatSatDate", { enumerable: true, get: function () { return date_utils_1.formatSatDate; } });
|
|
21
|
+
Object.defineProperty(exports, "parseSatDate", { enumerable: true, get: function () { return date_utils_1.parseSatDate; } });
|
|
22
|
+
Object.defineProperty(exports, "SAT_DATE_FORMAT", { enumerable: true, get: function () { return date_utils_1.SAT_DATE_FORMAT; } });
|
|
23
|
+
var encoding_utils_1 = require("./utils/encoding-utils");
|
|
24
|
+
Object.defineProperty(exports, "encodeToBase64", { enumerable: true, get: function () { return encoding_utils_1.encodeToBase64; } });
|
|
25
|
+
Object.defineProperty(exports, "decodeFromBase64", { enumerable: true, get: function () { return encoding_utils_1.decodeFromBase64; } });
|
|
26
|
+
var validation_utils_1 = require("./utils/validation-utils");
|
|
27
|
+
Object.defineProperty(exports, "isNullOrUndefined", { enumerable: true, get: function () { return validation_utils_1.isNullOrUndefined; } });
|
|
28
|
+
Object.defineProperty(exports, "isNullOrEmpty", { enumerable: true, get: function () { return validation_utils_1.isNullOrEmpty; } });
|
|
29
|
+
Object.defineProperty(exports, "isArrayNullOrEmpty", { enumerable: true, get: function () { return validation_utils_1.isArrayNullOrEmpty; } });
|
|
30
|
+
Object.defineProperty(exports, "isObjectEmpty", { enumerable: true, get: function () { return validation_utils_1.isObjectEmpty; } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0MsdUJBQXVCO0FBRXhCLG9CQUFvQjtBQUNwQixnRUFBOEQ7QUFBckQsbUhBQUEsZUFBZSxPQUFBO0FBeUN4QixrREFBZ0Q7QUFBdkMsdUdBQUEsU0FBUyxPQUFBO0FBRWxCLDhDQUE0QztBQUFuQyxtR0FBQSxPQUFPLE9BQUE7QUFDaEIsd0RBQXNEO0FBQTdDLDZHQUFBLFlBQVksT0FBQTtBQUNyQiw4REFBNEQ7QUFBbkQsbUhBQUEsZUFBZSxPQUFBO0FBQ3hCLG9EQUFrRDtBQUF6Qyx5R0FBQSxVQUFVLE9BQUE7QUFFbkIsYUFBYTtBQUNiLGlEQUk0QjtBQUgxQiwyR0FBQSxhQUFhLE9BQUE7QUFDYiwwR0FBQSxZQUFZLE9BQUE7QUFDWiw2R0FBQSxlQUFlLE9BQUE7QUFHakIseURBR2dDO0FBRjlCLGdIQUFBLGNBQWMsT0FBQTtBQUNkLGtIQUFBLGdCQUFnQixPQUFBO0FBR2xCLDZEQUtrQztBQUpoQyxxSEFBQSxpQkFBaUIsT0FBQTtBQUNqQixpSEFBQSxhQUFhLE9BQUE7QUFDYixzSEFBQSxrQkFBa0IsT0FBQTtBQUNsQixpSEFBQSxhQUFhLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlUmVzcG9uc2UgfSBmcm9tICcuL2NvbW1vbi9maWxlLXJlc3BvbnNlJztcbiAvLyBFeHBvcnRhciBBUEkgcMO6YmxpY2FcblxuLy8gQ2xpZW50ZSBwcmluY2lwYWxcbmV4cG9ydCB7IEZpc2NhbGFwaUNsaWVudCB9IGZyb20gJy4vc2VydmljZXMvZmlzY2FsYXBpLWNsaWVudCc7XG5cbi8vIEludGVyZmFjZXNcbmV4cG9ydCB7IElGaXNjYWxhcGlDbGllbnQgfSBmcm9tICcuL2Fic3RyYWN0aW9ucy9maXNjYWxhcGktY2xpZW50LmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlzY2FsYXBpU2VydmljZSB9IGZyb20gJy4vYWJzdHJhY3Rpb25zL2Zpc2NhbGFwaS1zZXJ2aWNlLmludGVyZmFjZSc7XG5leHBvcnQgeyBJQXBpS2V5U2VydmljZSB9IGZyb20gJy4vYWJzdHJhY3Rpb25zL2FwaS1rZXktc2VydmljZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUNhdGFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdGlvbnMvY2F0YWxvZy1zZXJ2aWNlLmludGVyZmFjZSc7XG5leHBvcnQgeyBJSW52b2ljZVNlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0aW9ucy9pbnZvaWNlLXNlcnZpY2UuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElQZXJzb25TZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdGlvbnMvcGVyc29uLXNlcnZpY2UuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElQcm9kdWN0U2VydmljZSB9IGZyb20gJy4vYWJzdHJhY3Rpb25zL3Byb2R1Y3Qtc2VydmljZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSVRheEZpbGVTZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdGlvbnMvdGF4LWZpbGUtc2VydmljZS5pbnRlcmZhY2UnO1xuXG4vLyBNb2RlbG9zXG5leHBvcnQgeyBBcGlLZXkgfSBmcm9tICcuL21vZGVscy9hcGkta2V5JztcbmV4cG9ydCB7IFBlcnNvbiB9IGZyb20gJy4vbW9kZWxzL3BlcnNvbic7XG5leHBvcnQgeyBQcm9kdWN0LCBQcm9kdWN0VGF4IH0gZnJvbSAnLi9tb2RlbHMvcHJvZHVjdCc7XG5leHBvcnQgeyBUYXhGaWxlIH0gZnJvbSAnLi9tb2RlbHMvdGF4LWZpbGUnO1xuZXhwb3J0IHtcbiAgSW52b2ljZSxcbiAgSW52b2ljZUlzc3VlcixcbiAgSW52b2ljZVJlY2lwaWVudCxcbiAgSW52b2ljZUl0ZW0sXG4gIEludm9pY2VSZXNwb25zZSxcbiAgVGF4Q3JlZGVudGlhbCxcbiAgUmVsYXRlZEludm9pY2UsXG4gIEdsb2JhbEluZm9ybWF0aW9uLFxuICBJdGVtVGF4LFxuICBJbnZvaWNlUGF5bWVudCxcbiAgUGFpZEludm9pY2UsXG4gIFBhaWRJbnZvaWNlVGF4LFxuICBDYW5jZWxJbnZvaWNlUmVxdWVzdCxcbiAgQ2FuY2VsSW52b2ljZVJlc3BvbnNlLFxuICBJbnZvaWNlU3RhdHVzUmVxdWVzdCxcbiAgSW52b2ljZVN0YXR1c1Jlc3BvbnNlLFxuICBDcmVhdGVQZGZSZXF1ZXN0LFxuICBTZW5kSW52b2ljZVJlcXVlc3Rcbn0gZnJvbSAnLi9tb2RlbHMvaW52b2ljZSc7XG5cbi8vIENvbcO6blxuZXhwb3J0IHsgRmlzY2FsYXBpU2V0dGluZ3MgfSBmcm9tICcuL2NvbW1vbi9maXNjYWxhcGktc2V0dGluZ3MnO1xuZXhwb3J0IHsgQXBpUmVzcG9uc2UsIFZhbGlkYXRpb25GYWlsdXJlIH0gZnJvbSAnLi9jb21tb24vYXBpLXJlc3BvbnNlJztcbmV4cG9ydCB7IFBhZ2VkTGlzdCB9IGZyb20gJy4vY29tbW9uL3BhZ2VkLWxpc3QnO1xuZXhwb3J0IHsgRmlsZVJlc3BvbnNlIH0gZnJvbSAnLi9jb21tb24vZmlsZS1yZXNwb25zZSc7XG5leHBvcnQgeyBCYXNlRHRvIH0gZnJvbSAnLi9jb21tb24vYmFzZS1kdG8nO1xuZXhwb3J0IHsgQXVkaXRhYmxlRHRvIH0gZnJvbSAnLi9jb21tb24vYXVkaXRhYmxlLWR0byc7XG5leHBvcnQgeyBTZXJpYWxpemFibGVEdG8gfSBmcm9tICcuL2NvbW1vbi9zZXJpYWxpemFibGUtZHRvJztcbmV4cG9ydCB7IENhdGFsb2dEdG8gfSBmcm9tICcuL2NvbW1vbi9jYXRhbG9nLWR0byc7XG5cbi8vIFV0aWxpZGFkZXNcbmV4cG9ydCB7XG4gIGZvcm1hdFNhdERhdGUsXG4gIHBhcnNlU2F0RGF0ZSxcbiAgU0FUX0RBVEVfRk9STUFUXG59IGZyb20gJy4vdXRpbHMvZGF0ZS11dGlscyc7XG5cbmV4cG9ydCB7XG4gIGVuY29kZVRvQmFzZTY0LFxuICBkZWNvZGVGcm9tQmFzZTY0XG59IGZyb20gJy4vdXRpbHMvZW5jb2RpbmctdXRpbHMnO1xuXG5leHBvcnQge1xuICBpc051bGxPclVuZGVmaW5lZCxcbiAgaXNOdWxsT3JFbXB0eSxcbiAgaXNBcnJheU51bGxPckVtcHR5LFxuICBpc09iamVjdEVtcHR5XG59IGZyb20gJy4vdXRpbHMvdmFsaWRhdGlvbi11dGlscyc7Il19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbHMvYXBpLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiIFxuXG4vLyBzcmMvbW9kZWxzL2FwaS1rZXkudHNcbmltcG9ydCB7IEJhc2VEdG8gfSBmcm9tICcuLi9jb21tb24vYmFzZS1kdG8nO1xuXG4vKipcbiAqIE1vZGVsbyBBUEkgS2V5XG4gKiBSZXByZXNlbnRhIHVuYSBjbGF2ZSBkZSBhdXRlbnRpY2FjacOzbiBlbiBmaXNjYWxhcGlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlLZXkgIGV4dGVuZHMgQmFzZUR0byB7XG4gIC8qKiBFbCBpZGVudGlmaWNhZG9yIMO6bmljbyBkZSBsYSBBUEkga2V5ICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKiBFbCBlbnRvcm5vIGFsIHF1ZSBwZXJ0ZW5lY2UgbGEgQVBJIGtleSAqL1xuICBlbnZpcm9ubWVudD86IHN0cmluZztcblxuICAvKiogRWwgQVBJIGtleS4gRXN0ZSB2YWxvciBlcyBlbCBxdWUgc2UgdXRpbGl6YSBwYXJhIGF1dGVudGljYXIgbGFzIHNvbGljaXR1ZGVzICovXG4gIGFwaUtleVZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKiBFbCBpZGVudGlmaWNhZG9yIMO6bmljbyBkZSBsYSBwZXJzb25hIGEgbGEgcXVlIHBlcnRlbmVjZSBsYSBBUEkga2V5ICovXG4gIHBlcnNvbklkPzogc3RyaW5nO1xuXG4gIC8qKiBFbCBpZGVudGlmaWNhZG9yIMO6bmljbyBkZWwgdGVuYW50IGFsIHF1ZSBwZXJ0ZW5lY2UgbGEgQVBJIGtleSAqL1xuICB0ZW5hbnRJZD86IHN0cmluZztcblxuICAvKiogRWwgZXN0YWRvIGRlIGxhIEFQSSBrZXkuIFZhbG9yZXM6IFwiMCBEaXNhYmxlZCAgfCAxIEVuYWJsZWQgXCIgKi9cbiAgYXBpS2V5U3RhdHVzPzogbnVtYmVyO1xuXG4gIC8qKiBOb21icmUgbyBkZXNjcmlwY2nDs24gZGUgbGEgQVBJIGtleSAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbHMvaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XG4gXG4vLyBzcmMvbW9kZWxzL2ludm9pY2UudHNcbmltcG9ydCB7IEJhc2VEdG8gfSBmcm9tICcuLi9jb21tb24vYmFzZS1kdG8nO1xuXG4vKipcbiAqIE1vZGVsbyBmYWN0dXJhXG4gKiBDb250aWVuZSB0b2RhIGxhIGluZm9ybWFjacOzbiBkZSB1bmEgZmFjdHVyYSwgY29tbyBkYXRvcyBkZWwgZW1pc29yLCByZWNlcHRvciwgXG4gKiBwcm9kdWN0b3Mvc2VydmljaW9zLCBpbXBvcnRlcywgbcOpdG9kbyBkZSBwYWdvLCBlbCB0aXBvIGRlIGZhY3R1cmEsIGVudHJlIG90cm9zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludm9pY2Uge1xuICAvKiogQ8OzZGlnbyBkZSBsYSB2ZXJzacOzbiBkZSBsYSBmYWN1cmEuIERlZmF1bHQ6IFwiNC4wXCIgKi9cbiAgdmVyc2lvbkNvZGU/OiBzdHJpbmc7XG5cbiAgLyoqIEVzIGVsIG7Dum1lcm8gZGUgc2VyaWUgcXVlIHV0aWxpemEgZWwgY29udHJpYnV5ZW50ZSBwYXJhIGNvbnRyb2wgaW50ZXJubyBkZSBzdSBpbmZvcm1hY2nDs24gKi9cbiAgc2VyaWVzOiBzdHJpbmc7XG5cbiAgLyoqIEVzIGxhIGZlY2hhIHkgaG9yYSBkZSBleHBlZGljacOzbiBkZWwgY29tcHJvYmFudGUgZmlzY2FsLiBTZSBleHByZXNhIGVuIGxhIGZvcm1hIEFBQUEtTU0tRERUaGg6bW06c3MgKi9cbiAgZGF0ZTogRGF0ZVRpbWUgfCBzdHJpbmc7XG5cbiAgLyoqIENvbnNlY3V0aXZvIGRlIGZhY3R1cmFzIHBvciBjdWVudGEuIFNlIGluY3JlbWVudGEgY29uIGNhZGEgZmFjdHVyYSBnZW5lcmFkYSBlbiB0dSBjdWVudGEgZGUgRmlzY2FsYXBpICovXG4gIGNvbnNlY3V0aXZlPzogbnVtYmVyO1xuXG4gIC8qKiBDb25zZWN1dGl2byBkZSBmYWN0dXJhcyBwb3IgUkZDIGVtaXNvci4gU2UgaW5jcmVtZW50YSBwb3IgY2FkYSBmYWN0dXJhIGdlbmVyYWRhIHBvciBlbCBtaXNtbyBSRkMgZW1pc29yICovXG4gIG51bWJlcj86IG51bWJlcjtcblxuICAvKiogU3VidG90YWwgZGUgbGEgZmFjdHVyYS4gQ2FtcG8gZGUgc29sbyBsZWN0dXJhICovXG4gIHN1YnRvdGFsPzogbnVtYmVyO1xuXG4gIC8qKiBEZXNjdWVudG8gYXBsaWNhZG8gYSBsYSBmYWN0dXJhLiBDYW1wbyBkZSBzb2xvIGxlY3R1cmEgKi9cbiAgZGlzY291bnQ/OiBudW1iZXI7XG5cbiAgLyoqIFRvdGFsIGRlIGxhIGZhY3R1cmEuIENhbXBvIGRlIHNvbG8gbGVjdHVyYSAqL1xuICB0b3RhbD86IG51bWJlcjtcblxuICAvKiogVVVJRCBkZSBsYSBmYWN0dXJhLCBlcyBlbCBmb2xpbyBmaXNjYWwgYXNpZ25hZG8gcG9yIGVsIFNBVCBhbCBtb21lbnRvIGRlbCB0aW1icmFkbyAqL1xuICB1dWlkPzogc3RyaW5nO1xuXG4gIC8qKiBDw7NkaWdvIGRlIGxhIGZvcm1hIGRlIHBhZ28gcGFyYSBsYSBmYWN0dXJhLiBDYXTDoWxvZ28gZGVsIFNBVCBjX0Zvcm1hUGFnbyAqL1xuICBwYXltZW50Rm9ybUNvZGU/OiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gZGUgbGEgbW9uZWRhIHV0aWxpemFkYSBwYXJhIGV4cHJlc2FyIGxvcyBtb250b3MuIERlZmF1bHQ6IFwiTVhOXCIgKi9cbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gZGUgdGlwbyBkZSBmYWN0dXJhLiBDYXTDoWxvZ28gZGVsIFNBVCBjX1RpcG9EZUNvbXByb2JhbnRlICovXG4gIHR5cGVDb2RlOiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gcG9zdGFsIGRlbCBlbWlzb3IgKi9cbiAgZXhwZWRpdGlvblppcENvZGU6IHN0cmluZztcblxuICAvKiogQ8OzZGlnbyBxdWUgc2UgaWRlbnRpZmljYSBzaSBsYSBmYWN0dXJhIGFtcGFyYSB1bmEgb3BlcmFjacOzbiBkZSBleHBvcnRhY2nDs24uIERlZmF1bHQ6IFwiMDFcIiAqL1xuICBleHBvcnRDb2RlOiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gZGUgbcOpdG9kbyBwYXJhIGxhIGZhY3R1cmEgZGUgcGFnbyBkZWwgY2F0w6Fsb2dvIGRlbCBTQVQgY19NZXRvZG9QYWdvICovXG4gIHBheW1lbnRNZXRob2RDb2RlPzogc3RyaW5nO1xuXG4gIC8qKiBUaXBvIGRlIGNhbWJpbyBGSVggY29uZm9ybWUgYSBsYSBtb25lZGEgcmVnaXN0cmFkYSBlbiBsYSBmYWN0dXJhLiBEZWZhdWx0OiAxICovXG4gIGV4Y2hhbmdlUmF0ZT86IG51bWJlcjtcblxuICAvKiogRWwgZW1pc29yIGRlIGxhIGZhY3R1cmEgKi9cbiAgaXNzdWVyOiBJbnZvaWNlSXNzdWVyO1xuXG4gIC8qKiBSZWNlcHRvciBkZSBsYSBmYWN0dXJhICovXG4gIHJlY2lwaWVudDogSW52b2ljZVJlY2lwaWVudDtcblxuICAvKiogQ29uY2VwdG9zIGRlIGxhIGZhY3R1cmEgKHByb2R1Y3RvcyBvIHNlcnZpY2lvcykgKi9cbiAgaXRlbXM/OiBJbnZvaWNlSXRlbVtdO1xuXG4gIC8qKiBJbmZvcm1hY2lvbiBnbG9iYWwuIFV0aWxpemFkbyBjdWFuZG8gc2UgZ2VuZXJhIHVuYSBmYWN0dXJhIGdsb2JhbCAqL1xuICBnbG9iYWxJbmZvcm1hdGlvbj86IEdsb2JhbEluZm9ybWF0aW9uO1xuXG4gIC8qKiBGYWN0dXJhcyByZWxhY2lvbmFkYXMgKi9cbiAgcmVsYXRlZEludm9pY2VzPzogUmVsYXRlZEludm9pY2VbXTtcblxuICAvKiogUGFnbyBvIHBhZ29zIHJlY2liaWRvcyBwYXJhIGxpcXVpZGFyIHBhcmNpYWwgbyB0b3RhbG1lbnRlIHVuYSBmYWN0dXJhIGRlIGluZ3Jlc28gZW1pdGlkYSBwcmV2aWFtZW50ZSAqL1xuICBwYXltZW50cz86IEludm9pY2VQYXltZW50W107XG5cbiAgLyoqIFJlc3B1ZXN0YSBkZWwgU0FULiBDb250aWVuZSBsYSBpbmZvcm1hY2nDs24gZGVsIHRpbWJyYWRvLiAoU8OzbG8gbGVjdHVyYSkgKi9cbiAgcmVzcG9uc2VzPzogSW52b2ljZVJlc3BvbnNlW107XG59XG5cbi8qKlxuICogRW1pc29yIGRlIGxhIGZhY3R1cmFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlSXNzdWVyIHtcbiAgLyoqIElEIGRlIGxhIHBlcnNvbmEgKGVtaXNvcmEpIGVuIGZpc2NhbGFwaSAqL1xuICBpZD86IHN0cmluZztcblxuICAvKiogUkZDIGRlbCBlbWlzb3IgKFRheCBJZGVudGlmaWNhdGlvbiBOdW1iZXIpICovXG4gIHRpbj86IHN0cmluZztcblxuICAvKiogUmF6w7NuIHNvY2lhbCBkZWwgZW1pc29yIHNpbiByZWdpbWVuIGRlIGNhcGl0YWwgKi9cbiAgbGVnYWxOYW1lPzogc3RyaW5nO1xuXG4gIC8qKiBDw7NkaWdvIGRlbCByw6lnaW1lbiBmaXNjYWwgZGVsIGVtaXNvci4gQ2F0w6Fsb2dvIGRlbCBTQVQgY19SZWdpbWVuRmlzY2FsICovXG4gIHRheFJlZ2ltZUNvZGU/OiBzdHJpbmc7XG5cbiAgLyoqIFNlbGxvcyBkZWwgZW1pc29yIChhcmNoaXZvcyAuY2VyIHkgLmtleSkgKi9cbiAgdGF4Q3JlZGVudGlhbHM/OiBUYXhDcmVkZW50aWFsW107XG59XG5cbi8qKlxuICogU2VsbG9zIGRlbCBlbWlzb3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXhDcmVkZW50aWFsIHtcbiAgLyoqIEFyY2hpdm8gZW4gZm9ybWF0byBiYXNlNjQgKi9cbiAgYmFzZTY0RmlsZTogc3RyaW5nO1xuXG4gIC8qKiBUaXBvIGRlIGFyY2hpdm8uIDA6IENldGlmaWFjZG8gQ1NEIChhcmNoaXZvIC5jZXIpLCAxOiBMbGF2ZSBwcml2YWRhIChhcmNoaXZvIC5rZXkpICovXG4gIGZpbGVUeXBlOiBudW1iZXI7XG5cbiAgLyoqIENvbnRyYXNlw7FhIGRlbCBhcmNoaXZvIC5rZXkuIERlYmUgc2VyIGxhIG1pc21hIGVuIGFtYm9zIG9iamV0b3MgKC5jZXIgeSAua2V5KSAqL1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlY2VwdG9yIGRlIGxhIGZhY3R1cmFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlUmVjaXBpZW50IHtcbiAgLyoqIElEIGRlIGxhIHBlcnNvbmEgKHJlY2VwdG9yYSkgZW4gZmlzY2FsYXBpICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKiBSRkMgZGVsIHJlY2VwdG9yIChUYXggSWRlbnRpZmljYXRpb24gTnVtYmVyKSAqL1xuICB0aW4/OiBzdHJpbmc7XG5cbiAgLyoqIFJhesOzbiBzb2NpYWwgZGVsIHJlY2VwdG9yIHNpbiByZWdpbWVuIGRlIGNhcGl0YWwgKi9cbiAgbGVnYWxOYW1lPzogc3RyaW5nO1xuXG4gIC8qKiBDw7NkaWdvIGRlbCByw6lnaW1lbiBmaXNjYWwgZGVsIHJlY2VwdG9yLiBDYXTDoWxvZ28gZGVsIFNBVCBjX1JlZ2ltZW5GaXNjYWwgKi9cbiAgdGF4UmVnaW1lQ29kZT86IHN0cmluZztcblxuICAvKiogQ8OzZGlnbyBkZWwgdXNvIENGREkuIENhdMOhbG9nbyBkZWwgU0FUIGNfVXNvQ0ZESSAqL1xuICBjZmRpVXNlQ29kZT86IHN0cmluZztcblxuICAvKiogQ8OzZGlnbyBwb3N0YWwgZGVsIHJlY2VwdG9yICovXG4gIHppcENvZGU/OiBzdHJpbmc7XG5cbiAgLyoqIENvcnJlbyBlbGVjdHLDs25pY28gZGVsIHJlY2VwdG9yLiBQYXJhIGVudmlhciBsYSBmYWN0dXJhIGRlc2RlIGVsIGRhc2JvcmFyZCAqL1xuICBlbWFpbD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25jZXB0b3MgZGUgbGEgZmFjdHVyYSAocHJvZHVjdG9zIG8gc2VydmljaW9zKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludm9pY2VJdGVtIHtcbiAgLyoqIElEIGRlbCBwcm9kdWN0byBlbiBmaXNjYWxhcGkgKi9cbiAgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gZGVsIHByb2R1Y3RvIG8gc2VydmljaW8gZGVsIGNhdMOhbG9nbyBjX0NsYXZlUHJvZFNlcnYgKi9cbiAgaXRlbUNvZGU/OiBzdHJpbmc7XG5cbiAgLyoqIENhbnRpZGFkIGRlbCBwcm9kdWN0byBvIHNlcnZpY2lvICovXG4gIHF1YW50aXR5OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIENhbnRpZGFkIG1vbmV0YXJpYSBkZWwgZGVzY3VlbnRvIGFwbGljYWRvIGFsIHByb2R1Y3RvIG8gc2VydmljaW8gKi9cbiAgZGlzY291bnQ/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gZGUgbGEgdW5pZGFkIGRlIG1lZGlkYSBkZWwgcHJvZHVjdG8gbyBzZXJ2aWNpby4gQ2F0w6Fsb2dvIGNfQ2xhdmVVbmlkYWQgKi9cbiAgdW5pdE9mTWVhc3VyZW1lbnRDb2RlPzogc3RyaW5nO1xuXG4gIC8qKiBEZXNjcmlwY2nDs24gZGVsIHByb2R1Y3RvIG8gc2VydmljaW8gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqIFByZWNpbyB1bml0YXJpbyBkZWwgcHJvZHVjdG8gbyBzZXJ2aWNpby4gKFNpbiBpbXB1ZXN0b3MpICovXG4gIHVuaXRQcmljZT86IG51bWJlciB8IHN0cmluZztcblxuICAvKiogQ8OzZGlnbyBkZSBvYmxpZ2FjaW9uZXMgZGUgaW1wdWVzdG8gYXBsaWNhYmxlcyBhbCBwcm9kdWN0byBvIHNlcnZpY2lvLiBDYXTDoWxvZ28gY19PYmpldG9JbXAgKi9cbiAgdGF4T2JqZWN0Q29kZT86IHN0cmluZztcblxuICAvKiogU0tVIG8gY2xhdmUgZGVsIHNpc3RlbWEgZXh0ZXJubyBxdWUgaWRlbnRpZmljYSBhbCBwcm9kdWN0byBvIHNlcnZpY2lvICovXG4gIGl0ZW1Ta3U/OiBzdHJpbmc7XG5cbiAgLyoqIEltcHVlc3RvcyBhcGxpY2FibGVzIGFsIHByb2R1Y3RvIG8gc2VydmljaW8gKi9cbiAgaXRlbVRheGVzPzogSXRlbVRheFtdO1xufVxuXG4vKipcbiAqIEltcHVlc3RvcyBhcGxpY2FibGVzIGFsIHByb2R1Y3RvIG8gc2VydmljaW9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJdGVtVGF4IHtcbiAgLyoqIEPDs2RpZ28gZGVsIGltcHVlc3RvLiBDYXTDoWxvZ28gZGVsIFNBVCBjX0ltcHVlc3RvICovXG4gIHRheENvZGU6IHN0cmluZztcblxuICAvKiogVGlwbyBkZSBmYWN0b3IuIENhdMOhbG9nbyBkZWwgU0FUIGNfVGlwb0ZhY3RvciAqL1xuICB0YXhUeXBlQ29kZTogc3RyaW5nO1xuXG4gIC8qKiBUYXNhIGRlbCBpbXB1ZXN0by4gQ2F0w6Fsb2dvIGRlbCBTQVQgY19UYXNhT0N1b3RhICAqL1xuICB0YXhSYXRlPzogc3RyaW5nIHwgbnVtYmVyOyBcblxuICAvKiogQ8OzZGlnbyBxdWUgaW5kaWNhIGxhIG5hdHVyYWxlemEgZGVsIGltcHVlc3RvLiBcIlRcIjogSW1wdWVzdG8gVHJhc2xhZG8sIFwiUlwiOiBJbXB1ZXN0byBSZXRlbmlkbyAqL1xuICB0YXhGbGFnQ29kZTogc3RyaW5nO1xufVxuXG5cblxuLyoqXG4gKiBJbmZvcm1hY2lvbiBnbG9iYWwgcGFyYSBmYWN0dXJhIGdsb2JhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbEluZm9ybWF0aW9uIHtcbiAgLyoqIEPDs2RpZ28gZGUgbGEgcGVyaW9kaWNpZGFkIGRlIGxhIGZhY3R1cmEgZ2xvYmFsLiBDYXTDoWxvZ28gZGVsIFNBVCBjX1BlcmlvZGljaWRhZCAqL1xuICBwZXJpb2RpY2l0eUNvZGU6IHN0cmluZztcblxuICAvKiogQ8OzZGlnbyBkZWwgbWVzIGRlIGxhIGZhY3R1cmEgZ2xvYmFsLiBDYXTDoWxvZ28gZGVsIFNBVCBjX01lc2VzICovXG4gIG1vbnRoQ29kZTogc3RyaW5nO1xuXG4gIC8qKiBBw7FvIGRlIGxhIGZhY3R1cmEgZ2xvYmFsIGEgNCBkw61naXRvcyAqL1xuICB5ZWFyOiBudW1iZXI7XG59XG5cbi8qKlxuICogRmFjdHVyYXMgcmVsYWNpb25hZGFzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVsYXRlZEludm9pY2Uge1xuICAvKiogQ8OzZGlnbyBkZSBsYSByZWxhY2nDs24gZGUgbGEgZmFjdHVyYSByZWxhY2lvbmFkYS4gQ2F0w6Fsb2dvIGRlbCBTQVQgY19UaXBvUmVsYWNpb24gKi9cbiAgcmVsYXRpb25zaGlwVHlwZUNvZGU6IHN0cmluZztcblxuICAvKiogVVVJRCBkZSBsYSBmYWN0dXJhIHJlbGFjaW9uYWRhICovXG4gIHV1aWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYWdvIG8gcGFnb3MgcmVjaWJpZG9zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW52b2ljZVBheW1lbnQge1xuICAvKiogRmVjaGEgZGUgcGFnby4gU2UgZXhwcmVzYSBlbiBsYSBmb3JtYSBBQUFBLU1NLUREVGhoOm1tOnNzICovXG4gIHBheW1lbnREYXRlOiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gZGUgbGEgZm9ybWEgZGUgcGFnbyBkZWwgcGFnbyByZWNpYmlkby4gQ2F0w6Fsb2dvIGRlbCBTQVQgY19Gb3JtYVBhZ28gKi9cbiAgcGF5bWVudEZvcm1Db2RlOiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gZGUgbGEgbW9uZWRhIHV0aWxpemFkYSBlbiBlbCBwYWdvLiBDYXTDoWxvZ28gZGVsIFNBVCBjX01vbmVkYS4gRGVmYXVsdDogXCJNWE5cIiAqL1xuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcblxuICAvKiogVGlwbyBkZSBjYW1iaW8gRklYIGNvbmZvcm1lIGEgbGEgbW9uZWRhIHJlZ2lzdHJhZGEgZW4gbGEgZmFjdHVyYS4gRGVmYXVsdDogMSAqL1xuICBleGNoYW5nZVJhdGU/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqIE1vbnRvIGRlbCBwYWdvICovXG4gIGFtb3VudDogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBSRkMgZGVsIGJhbmNvIG9yaWdlbi4gKFJmYyBkZWwgYmFuY28gZW1pc29yIGRlbCBwYWdvKSAqL1xuICBzb3VyY2VCYW5rVGluOiBzdHJpbmc7XG5cbiAgLyoqIEN1ZW50YSBiYW5jYXJpYSBvcmlnZW4uIChDdWVudGEgYmFuY2FyaWEgZGVsIGJhbmNvIGVtaXNvciBkZWwgcGFnbykgKi9cbiAgc291cmNlQmFua0FjY291bnQ6IHN0cmluZztcblxuICAvKiogUkZDIGRlbCBiYW5jbyBkZXN0aW5vLiAoUmZjIGRlbCBiYW5jbyByZWNlcHRvciBkZWwgcGFnbykgKi9cbiAgdGFyZ2V0QmFua1Rpbjogc3RyaW5nO1xuXG4gIC8qKiBDdWVudGEgYmFuY2FyaWEgZGVzdGlubyAoQ3VlbnRhIGJhbmNhcmlhIGRlbCBiYW5jbyByZWNlcHRvciBkZWwgcGFnbykgKi9cbiAgdGFyZ2V0QmFua0FjY291bnQ6IHN0cmluZztcblxuICAvKiogRmFjdHVyYXMgcGFnYWRhcyBjb24gZWwgcGFnbyByZWNpYmlkbyAqL1xuICBwYWlkSW52b2ljZXM6IFBhaWRJbnZvaWNlW107XG59XG5cbi8qKlxuICogRmFjdHVyYXMgcGFnYWRhcyBjb24gZWwgcGFnbyByZWNpYmlkb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhaWRJbnZvaWNlIHtcbiAgLyoqIFVVSUQgZGUgbGEgZmFjdHVyYSBwYWdhZGEgKi9cbiAgdXVpZDogc3RyaW5nO1xuXG4gIC8qKiBTZXJpZSBkZSBsYSBmYWN0dXJhIHBhZ2FkYSAqL1xuICBzZXJpZXM6IHN0cmluZztcblxuICAvKiogTW9udG8gcGFnYWRvIHBhZ2FkbyBlbiBsYSBmYWN0dXJhICovXG4gIHBheW1lbnRBbW91bnQ6IG51bWJlciB8IHN0cmluZztcblxuICAvKiogRm9saW8gZGUgbGEgZmFjdHVyYSBwYWdhZGEgKi9cbiAgbnVtYmVyOiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gZGUgbGEgbW9uZWRhIHV0aWxpemFkYSBlbiBsYSBmYWN0dXJhIHBhZ2FkYS4gRGVmYXVsdDogXCJNWE5cIiAqL1xuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcblxuICAvKiogTsO6bWVybyBkZSBwYXJjaWFsaWRhZCAqL1xuICBwYXJ0aWFsaXR5TnVtYmVyOiBudW1iZXIgO1xuXG4gIC8qKiBTdWJ0b3RhbCBkZSBsYSBmYWN0dXJhIHBhZ2FkYSAqL1xuICBzdWJUb3RhbDogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBTYWxkbyBhbnRlcmlvciBkZSBsYSBmYWN0dXJhIHBhZ2FkYSAqL1xuICBwcmV2aW91c0JhbGFuY2U6IG51bWJlciB8IHN0cmluZztcblxuICAvKiogU2FsZG8gcmVzdGFudGUgZGUgbGEgZmFjdHVyYSBwYWdhZGEgKi9cbiAgcmVtYWluaW5nQmFsYW5jZTogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBDw7NkaWdvIGRlIG9ibGlnYWNpb25lcyBkZSBpbXB1ZXN0byBhcGxpY2FibGVzIGEgbGEgZmFjdHVyYSBwYWdhZGEgKi9cbiAgdGF4T2JqZWN0Q29kZTogc3RyaW5nO1xuXG4gIC8qKiBFcXVpdmFsZW5jaWEgZGUgbGEgbW9uZWRhLiBEZWZhdWx0OiAxICovXG4gIGVxdWl2YWxlbmNlPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBJbXB1ZXN0b3MgYXBsaWNhYmxlcyBhIGxhIGZhY3R1cmEgcGFnYWRhICovXG4gIHBhaWRJbnZvaWNlVGF4ZXM6IFBhaWRJbnZvaWNlVGF4W107XG59XG5cbi8qKlxuICogSW1wdWVzdG9zIGFwbGljYWJsZXMgYSBsYSBmYWN0dXJhIHBhZ2FkYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhaWRJbnZvaWNlVGF4IHtcbiBcbiAgLyoqIEPDs2RpZ28gZGVsIGltcHVlc3RvLiBDYXTDoWxvZ28gZGVsIFNBVCBjX0ltcHVlc3RvICovXG4gIHRheENvZGU6IHN0cmluZztcblxuICAvKiogVGlwbyBkZSBmYWN0b3IuIENhdMOhbG9nbyBkZWwgU0FUIGNfVGlwb0ZhY3RvciAqL1xuICB0YXhUeXBlQ29kZTogc3RyaW5nO1xuXG4gIC8qKiBUYXNhIGRlbCBpbXB1ZXN0by4gQ2F0w6Fsb2dvIGRlbCBTQVQgY19UYXNhT0N1b3RhICovXG4gIHRheFJhdGU6IG51bWJlciB8IHN0cmluZztcblxuICAvKiogQ8OzZGlnbyBxdWUgaW5kaWNhIGxhIG5hdHVyYWxlemEgZGVsIGltcHVlc3RvLiBcIlRcIjogSW1wdWVzdG8gVHJhc2xhZG8sIFwiUlwiOiBJbXB1ZXN0byBSZXRlbmlkbyAqL1xuICB0YXhGbGFnQ29kZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3B1ZXN0YSBkZWwgU0FULiBDb250aWVuZSBsYSBpbmZvcm1hY2nDs24gZGVsIHRpbWJyYWRvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW52b2ljZVJlc3BvbnNlIHtcbiAgLyoqIElEIGRlIGxhIHJlc3B1ZXN0YSAqL1xuICBpZD86IHN0cmluZztcblxuICAvKiogSUQgZGUgbGEgZmFjdHVyYSBhIGxhIHF1ZSBwZXJ0ZW5lY2UgbGEgcmVzcHVlc3RhICovXG4gIGludm9pY2VJZD86IHN0cmluZztcblxuICAvKiogRm9saW8gRmlzY2FsIChVVUlEKSBwcm9wb3JjaW9uYWRvIHBvciBlbCBTQVQgdHJhcyBlbCB0aW1icmFkbyBkZSBsYSBmYWN0dXJhICovXG4gIGludm9pY2VVdWlkPzogc3RyaW5nO1xuXG4gIC8qKiBOw7ptZXJvIGRlIGNlcnRpZmljYWRvIGRlbCBlbWlzb3IgKi9cbiAgaW52b2ljZUNlcnRpZmljYXRlTnVtYmVyPzogc3RyaW5nO1xuXG4gIC8qKiBTZWxsbyBkaWdpdGFsIGRlbCBDRkRJIGVuIGZvcm1hdG8gQmFzZTY0ICovXG4gIGludm9pY2VCYXNlNjRTZWxsbz86IHN0cmluZztcblxuICAvKiogRmVjaGEgeSBob3JhIGRlIGxhIGZpcm1hIGVsZWN0csOzbmljYSBkZWwgQ0ZESSBwb3IgcGFydGUgZGVsIGVtaXNvciAqL1xuICBpbnZvaWNlU2lnbmF0dXJlRGF0ZT86IERhdGU7XG5cbiAgLyoqIEltYWdlbiBkZWwgY8OzZGlnbyBRUiBlbiBmb3JtYXRvIEJhc2U2NCAqL1xuICBpbnZvaWNlQmFzZTY0UXJDb2RlPzogc3RyaW5nO1xuXG4gIC8qKiBYTUwgZGUgbGEgZmFjdHVyYSBlbiBmb3JtYXRvIEJhc2U2NCAqL1xuICBpbnZvaWNlQmFzZTY0Pzogc3RyaW5nO1xuXG4gIC8qKiBTZWxsbyBkaWdpdGFsIGRlbCBTQVQgZW4gZm9ybWF0byBCYXNlNjQgKi9cbiAgc2F0QmFzZTY0U2VsbG8/OiBzdHJpbmc7XG5cbiAgLyoqIENhZGVuYSBvcmlnaW5hbCBkZSBsYSBmYWN0dXJhIGNvZGlmaWNhZG8gZW4gQmFzZTY0ICovXG4gIHNhdEJhc2U2NE9yaWdpbmFsU3RyaW5nPzogc3RyaW5nO1xuXG4gIC8qKiBOw7ptZXJvIGRlIGNlcnRpZmljYWRvIGRlbCBTQVQgKi9cbiAgc2F0Q2VydGlmaWNhdGVOdW1iZXI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTW9kZWxvIGRlIGNhbmNlbGFjacOzbiBkZSBmYWN0dXJhc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENhbmNlbEludm9pY2VSZXF1ZXN0IHtcbiAgLyoqIElEIGRlIGxhIGZhY3R1cmEgYSBjYW5jZWxhciAqL1xuICBpZD86IHN0cmluZztcblxuICAvKiogVVVJRCBkZSBsYSBmYWN0dXJhIGEgY2FuY2VsYXIgKi9cbiAgaW52b2ljZVV1aWQ/OiBzdHJpbmc7XG5cbiAgLyoqIFJGQyBkZWwgZW1pc29yIGRlIGxhIGZhY3R1cmEgKFRheCBJZGVudGlmaWNhdGlvbiBOdW1iZXIpICovXG4gIHRpbj86IHN0cmluZztcblxuICAvKiogQ8OzZGlnbyBkZWwgbW90aXZvIGRlIGNhbmNlbGFjacOzbiBkZSBsYSBmYWN0dXJhICovXG4gIGNhbmNlbGxhdGlvblJlYXNvbkNvZGU6IHN0cmluZztcblxuICAvKiogVVVJRCBkZSBsYSBmYWN0dXJhIHF1ZSBzdXN0aXR1eWUgYSBsYSBmYWN0dXJhIGNhbmNlbGFkYSAqL1xuICByZXBsYWNlbWVudFV1aWQ/OiBzdHJpbmc7XG5cbiAgLyoqIFNlbGxvcyBkZWwgZW1pc29yIChhcmNoaXZvcyAuY2VyIHkgLmtleSkgKi9cbiAgdGF4Q3JlZGVudGlhbHM/OiBUYXhDcmVkZW50aWFsW107XG59XG5cbi8qKlxuICogTW9kZWxvIGRlIHJlc3B1ZXN0YSBkZSBjYW5jZWxhY2nDs24gZGUgZmFjdHVyYXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDYW5jZWxJbnZvaWNlUmVzcG9uc2Uge1xuICAvKiogQWN1c2UgZGUgY2FuY2VsYWNpw7NuIGVuIGZvcm1hdG8gYmFzZTY0ICovXG4gIGJhc2U2NENhbmNlbGxhdGlvbkFja25vd2xlZGdlbWVudD86IHN0cmluZztcblxuICAvKiogRGljY2lvbmFyaW8gZGUgVVVJRHMgZGUgZmFjdHVyYXMgY29uIHN1IHJlc3BlY3Rpdm8gY8OzZGlnbyBkZSBlc3RhdHVzIGRlIGNhbmNlbGFjacOzbiAqL1xuICBpbnZvaWNlVXVpZHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIE1vZGVsbyBkZSBnZW5lcmFjacOzbiBkZSBwZGZcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVQZGZSZXF1ZXN0IHtcbiAgLyoqIElEIGRlIGxhIGZhY3R1cmEgcGFyYSBsYSBjdWFsIHNlIGdlbmVyYXLDoSBlbCBQREYgKi9cbiAgaW52b2ljZUlkOiBzdHJpbmc7XG5cbiAgLyoqIENvbG9yIGRlIGxhIGJhbmRhIGRlbCBQREYgZW4gZm9ybWF0byBoZXhhZGVjaW1hbCAqL1xuICBiYW5kQ29sb3I/OiBzdHJpbmc7XG5cbiAgLyoqIENvbG9yIGRlIGxhIGZ1ZW50ZSBkZWwgdGV4dG8gc29icmUgbGEgYmFuZGEgZW4gZm9ybWF0byBoZXhhZGVjaW1hbCAqL1xuICBmb250Q29sb3I/OiBzdHJpbmc7XG5cbiAgLyoqIExvZ290aXBvIGVuIGZvcm1hdG8gYmFzZTY0IHF1ZSBzZSBtb3N0cmFyw6EgZW4gZWwgUERGICovXG4gIGJhc2U2NExvZ28/OiBzdHJpbmc7XG59XG5cblxuXG4vKipcbiAqIE1vZGVsbyBkZSBlbnbDrW8gZmFjdHVyYXMgcG9yIGNvcnJlb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRJbnZvaWNlUmVxdWVzdCB7XG4gIC8qKiBJRCBkZSBsYSBmYWN0dXJhIHBhcmEgbGEgY3VhbCBzZSBnZW5lcmFyw6EgZWwgUERGICovXG4gIGludm9pY2VJZDogc3RyaW5nO1xuXG4gIC8qKiBDb3JyZW8gZWxlY3Ryw7NuaWNvIGRlbCBkZXN0aW5hdGFyaW8gKi9cbiAgdG9FbWFpbDogc3RyaW5nO1xuXG4gIC8qKiBDb2xvciBkZSBsYSBiYW5kYSBkZWwgUERGIGVuIGZvcm1hdG8gaGV4YWRlY2ltYWwgKi9cbiAgYmFuZENvbG9yPzogc3RyaW5nO1xuXG4gIC8qKiBDb2xvciBkZSBsYSBmdWVudGUgZGVsIHRleHRvIHNvYnJlIGxhIGJhbmRhIGVuIGZvcm1hdG8gaGV4YWRlY2ltYWwgKi9cbiAgZm9udENvbG9yPzogc3RyaW5nO1xuXG4gIC8qKiBMb2dvdGlwbyBlbiBmb3JtYXRvIGJhc2U2NCBxdWUgc2UgbW9zdHJhcsOhIGVuIGVsIFBERiAqL1xuICBiYXNlNjRMb2dvPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE1vZGVsbyBwYXJhIGNvbnN1bHRhciBlc3RhZG8gZGUgZmFjdHVyYXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlU3RhdHVzUmVxdWVzdCB7XG4gIC8qKiBJZCBkZSBsYSBmYWN0dXJhIGEgY29uc3VsdGFyICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKiBSRkMgRW1pc29yIGxhIGZhY3R1cmEgKi9cbiAgaXNzdWVyVGluPzogc3RyaW5nO1xuXG4gIC8qKiBSRkMgUmVjZXB0b3IgZGUgbGEgZmFjdHVyYSAqL1xuICByZWNpcGllbnRUaW4/OiBzdHJpbmc7XG5cbiAgLyoqIFRvdGFsIGRlIGxhIGZhY3R1cmEgKi9cbiAgaW52b2ljZVRvdGFsPzogbnVtYmVyO1xuXG4gIC8qKiBGb2xpbyBmaXNjYWwgZmFjdHVyYSBhIGNvbnN1bHRhciAqL1xuICBpbnZvaWNlVXVpZD86IHN0cmluZztcblxuICAvKiogw5psdGltb3Mgb2NobyBjYXJhY3RlcmVzIGRlbCBzZWxsbyBkaWdpdGFsIGRlbCBlbWlzb3IgKi9cbiAgbGFzdDhEaWdpdHNJc3N1ZXJTaWduYXR1cmU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTW9kZWxvIGRlIHJlc3B1ZXN0YSBkZSBjb25zdWx0YSBkZSBlc3RhZG8gZGUgZmFjdHVyYXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZvaWNlU3RhdHVzUmVzcG9uc2Uge1xuICAvKiogQ8OzZGlnbyBkZSBlc3RhdHVzIHJldG9ybmFkbyBwb3IgZWwgU0FUICovXG4gIHN0YXR1c0NvZGU6IHN0cmluZztcblxuICAvKiogRXN0YWRvIGFjdHVhbCBkZSBsYSBmYWN0dXJhLiBQb3NpYmxlcyB2YWxvcmVzOiAnVmlnZW50ZScgfCAnQ2FuY2VsYWRvJyB8ICdObyBFbmNvbnRyYWRvJyAqL1xuICBzdGF0dXM6IHN0cmluZztcblxuICAvKiogSW5kaWNhIHNpIGxhIGZhY3R1cmEgZXMgY2FuY2VsYWJsZS4gUG9zaWJsZXMgdmFsb3JlczogJ0NhbmNlbGFibGUgY29uIGFjZXB0YWNpw7NuJyB8ICdObyBjYW5jZWxhYmxlJyB8ICdDYW5jZWxhYmxlIHNpbiBhY2VwdGFjacOzbicgKi9cbiAgY2FuY2VsYWJsZVN0YXR1czogc3RyaW5nO1xuXG4gIC8qKiBEZXRhbGxlIGRlbCBlc3RhdHVzIGRlIGNhbmNlbGFjacOzbiAqL1xuICBjYW5jZWxsYXRpb25TdGF0dXM6IHN0cmluZztcblxuICAvKiogQ29kaWdvIHF1ZSBpbmRpY2Egc2kgZWwgUkZDIEVtaXNvciBzZSBlbmN1ZW50cmEgZGVudHJvIGRlIGxhIGxpc3RhIG5lZ3JhIGRlIEVGT1MgKi9cbiAgZWZvc1ZhbGlkYXRpb246IHN0cmluZztcbn0iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVscy9wZXJzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIiBcbi8vIHNyYy9tb2RlbHMvcGVyc29uLnRzXG5pbXBvcnQgeyBCYXNlRHRvIH0gZnJvbSAnLi4vY29tbW9uL2Jhc2UtZHRvJztcbmltcG9ydCB7IENhdGFsb2dEdG8gfSBmcm9tICcuLi9jb21tb24vY2F0YWxvZy1kdG8nO1xuXG4vKipcbiAqIE1vZGVsbyBwZXJzb25hXG4gKiBDb250aWVuZSB0b2RhIGxhIGluZm9ybWFjacOzbiBkZSB1bmEgcGVyc29uYSBlbWlzb3IgbyByZWNlcHRvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNvbiBleHRlbmRzIEJhc2VEdG8ge1xuICAvKiogUmF6w7NuIHNvY2lhbCBkZSBsYSBwZXJzb25hIHNpbiByw6lnaW1lbiBkZSBjYXBpdGFsICovXG4gIGxlZ2FsTmFtZT86IHN0cmluZztcblxuICAvKiogQ29ycmVvIGVsZWN0csOzbmljbyBkZSBsYSBwZXJzb25hICovXG4gIGVtYWlsPzogc3RyaW5nO1xuXG4gIC8qKiBDb250cmFzZcOxYSBwYXJhIGFjY2VkZXIgYWwgZGFzaGJvYXJkICovXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuXG4gIC8qKiBSw6lnaW1lbiBkZSBjYXBpdGFsIGRlIGxhIHBlcnNvbmEgKi9cbiAgY2FwaXRhbFJlZ2ltZT86IHN0cmluZztcblxuICAvKiogQ8OzZGlnbyBkZWwgcsOpZ2ltZW4gZmlzY2FsIGRlbCBlbWlzb3IuIENhdMOhbG9nbyBkZWwgU0FUIGNfcsOpZ2ltZW5GaXNjYWwuIFZhbG9yZXM6IFwiNjAxXCIsIFwiNjAzXCIsIFwiNjA1XCIgKi9cbiAgc2F0VGF4UmVnaW1lSWQ/OiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gZGVsIHLDqWdpbWVuIGZpc2NhbCBkZWwgZW1pc29yIGV4cGFuZGlkbyAqL1xuICBzYXRUYXhSZWdpbWU/OiBDYXRhbG9nRHRvO1xuXG4gIC8qKiBDw7NkaWdvIGRlIHVzbyBkZWwgQ0ZESSBwb3IgZGVmZWN0byBjdWFuZG8gZXN0ZSBlbWlzb3IgYWN0w7plIGNvbW8gcmVjZXB0b3IuIENhdMOhbG9nbyBkZWwgU0FUIGNfVXNvQ0ZESS4gVmFsb3JlczogXCJHMDFcIiwgXCJHMDJcIiwgXCJHMDNcIiAqL1xuICBzYXRDZmRpVXNlSWQ/OiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gZGUgdXNvIGRlbCBDRkRJIHBvciBkZWZlY3RvIGV4cGFuZGlkbyAqL1xuICBzYXRDZmRpVXNlPzogQ2F0YWxvZ0R0bztcblxuICAvKiogVGlwbyBkZSBwZXJzb25hLCBzb2xvIHRpZW5lIGZpbmVzIGluZm9ybWF0aXZvcy4gVmFsb3JlczogXCJUXCIsIFwiQ1wiLCBcIlVcIiAqL1xuICB1c2VyVHlwZUlkPzogc3RyaW5nO1xuXG4gIC8qKiBUaXBvIGRlIHBlcnNvbmEgZXhwYW5kaWRvICovXG4gIHVzZXJUeXBlPzogQ2F0YWxvZ0R0bztcblxuICAvKiogUkZDIGRlbCBlbWlzb3IgKFRheCBJZGVudGlmaWNhdGlvbiBOdW1iZXIpICovXG4gIHRpbj86IHN0cmluZztcblxuICAvKiogQ8OzZGlnbyBwb3N0YWwgZGVsIGVtaXNvci4gQ2F0w6Fsb2dvIGRlbCBTQVQgY19Db2RpZ29Qb3N0YWwgKi9cbiAgemlwQ29kZT86IHN0cmluZztcblxuICAvKiogRm90byBkZSBwZXJmaWwgZGVsIGVtaXNvciBlbiBmb3JtYXRvIGJhc2U2NCAqL1xuICBiYXNlNjRQaG90bz86IHN0cmluZztcblxuICAvKiogQ29udHJhc2XDsWEgZGUgbG9zIGNlcnRpZmljYWRvcyBDU0QgY3VhbmRvIGVzIHVuIGVtaXNvciAqL1xuICB0YXhQYXNzd29yZD86IHN0cmluZztcblxuICAvKiogU2FsZG8gZGlzcG9uaWJsZSBlbiBsYSBjdWVudGEgZGVsIGVtaXNvci4gQXRyaWJ1dG8gZGUgc8OzbG8gbGVjdHVyYSAqL1xuICBhdmFpbGFibGVCYWxhbmNlPzogbnVtYmVyO1xuXG4gIC8qKiBTYWxkbyBlbiB0csOhbnNpdG8uIEF0cmlidXRvIGRlIHPDs2xvIGxlY3R1cmEgKi9cbiAgY29tbWl0dGVkQmFsYW5jZT86IG51bWJlcjtcblxuICAvKiogSUQgZGVsIHRlbmFudCBhbCBxdWUgcGVydGVuZWNlIGVsIGVtaXNvci4gQXRyaWJ1dG8gZGUgc8OzbG8gbGVjdHVyYSAqL1xuICB0ZW5hbnRJZD86IHN0cmluZztcbn0iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbHMvcHJvZHVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiIFxuLy8gc3JjL21vZGVscy9wcm9kdWN0LnRzXG5pbXBvcnQgeyBCYXNlRHRvIH0gZnJvbSAnLi4vY29tbW9uL2Jhc2UtZHRvJztcbmltcG9ydCB7IENhdGFsb2dEdG8gfSBmcm9tICcuLi9jb21tb24vY2F0YWxvZy1kdG8nO1xuXG4vKipcbiAqIE1vZGVsbyBwcm9kdWN0b1xuICogQ29udGllbmUgdG9kYSBsYSBpbmZvcm1hY2nDs24gc29icmUgdW4gcHJvZHVjdG8gbyBzZXJ2aWNpb1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3QgZXh0ZW5kcyBCYXNlRHRvIHtcbiAgLyoqIElkZW50aWZpY2Fkb3Igw7puaWNvIGRlbCBwcm9kdWN0byAqL1xuICBpZD86IHN0cmluZztcblxuICAvKiogRGVzY3JpcGNpw7NuIG8gbm9tYnJlIGRlbCBwcm9kdWN0byAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKiogUHJlY2lvIHVuaXRhcmlvIGRlbCBwcm9kdWN0byBzaW4gaW1wdWVzdG9zICovXG4gIHVuaXRQcmljZT86IG51bWJlcjtcblxuICAvKiogQ8OzZGlnbyBkZSBsYSB1bmlkYWQgZGUgbWVkaWRhLiBDYXTDoWxvZ28gZGVsIFNBVCBjX0NsYXZlVW5pZGFkLiBEZWZhdWx0OiBcIkg4N1wiICovXG4gIHNhdFVuaXRNZWFzdXJlbWVudElkPzogc3RyaW5nO1xuXG4gIC8qKiBDw7NkaWdvIGRlIGxhIHVuaWRhZCBkZSBtZWRpZGEuIENhdMOhbG9nbyBkZWwgU0FUIGNfQ2xhdmVVbmlkYWQgZXhwYW5kaWRvICovXG4gIHNhdFVuaXRNZWFzdXJlbWVudD86IENhdGFsb2dEdG87XG5cbiAgLyoqIEPDs2RpZ28gcXVlIGlkZW50aWZpY2EgbGFzIG9ibGlnYWNpb25lcyBmaXNjYWxlcyBkZWwgcHJvZHVjdG8uIENhdMOhbG9nbyBkZWwgU0FUIGNfT2JqZXRvSW1wLiBEZWZhdWx0OiBcIjAyXCIgKi9cbiAgc2F0VGF4T2JqZWN0SWQ/OiBzdHJpbmc7XG5cbiAgLyoqIEPDs2RpZ28gcXVlIGlkZW50aWZpY2EgbGFzIG9ibGlnYWNpb25lcyBmaXNjYWxlcyBkZWwgcHJvZHVjdG8uIENhdMOhbG9nbyBkZWwgU0FUIGNfT2JqZXRvSW1wIGV4cGFuZGlkbyAqL1xuICBzYXRUYXhPYmplY3Q/OiBDYXRhbG9nRHRvO1xuXG4gIC8qKiBDw7NkaWdvIGRlbCBwcm9kdWN0byBvIHNlcnZpY2lvLiBDYXTDoWxvZ28gZGVsIFNBVCBjX0NsYXZlUHJvZFNlcnYuIERlZmF1bHQ6IFwiMDEwMTAxMDFcIiAqL1xuICBzYXRQcm9kdWN0Q29kZUlkPzogc3RyaW5nO1xuXG4gIC8qKiBDw7NkaWdvIGRlbCBwcm9kdWN0byBvIHNlcnZpY2lvLiBDYXTDoWxvZ28gZGVsIFNBVCBjX0NsYXZlUHJvZFNlcnYgZXhwYW5kaWRvICovXG4gIHNhdFByb2R1Y3RDb2RlPzogQ2F0YWxvZ0R0bztcbiAgXG4gIC8qKiBJbXB1ZXN0b3MgYXBsaWNhYmxlcyBhbCBwcm9kdWN0by4gRGVmYXVsdDogW0lWQSAxNiVdICovXG4gIHByb2R1Y3RUYXhlcz86IFByb2R1Y3RUYXhbXTtcbn1cblxuXG4vKipcbiAqIEltcHVlc3RvIGRlIHByb2R1Y3RvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFRheCB7XG4gIC8qKiBJZCBkZWwgcHJvZHVjdG8gYXNvY2lhZG8gYSBlc3RlIGltcHVlc3RvICovIFxuICBwcm9kdWN0SWQ/OiBzdHJpbmc7XG5cbiAgLyoqIFRhc2EgZGVsIGltcHVlc3RvLiBFbCB2YWxvciBkZWJlIGVzdGFyIGVudHJlIDAuMDAwMDAgeSAxLjAwMDAwMCBwLiBlai4gYDAuMTYwMDAwYCBwYXJhIHVuIDE2JSBkZSBpbXB1ZXN0byAqL1xuICByYXRlOiBudW1iZXI7XG5cbiAgLyoqIEltcHVlc3RvLiBDYXTDoWxvZ28gZGVsIFNBVCBjX0ltcHVlc3RvLiBcIjAwMVwiIElTUiB8IFwiMDAyXCIgSVZBIHwgXCIwMDNcIiBJRVBTICovXG4gIHRheElkOiBzdHJpbmc7XG5cbiAgLyoqIEltcHVlc3RvLiBDYXTDoWxvZ28gZGVsIFNBVCBjX0ltcHVlc3RvLiBcIjAwMVwiIElTUiB8IFwiMDAyXCIgSVZBIHwgXCIwMDNcIiBJRVBTIEV4cGFuZGlkbyAqL1xuICB0YXg/OiBDYXRhbG9nRHRvO1xuICAgXG4gIC8qKiBOYXR1cmFsZXphIGRlbCBpbXB1ZXN0by4gXCJUXCIgVHJhc2xhZG8gbyBcIlJcIiBSZXRlbmNpw7NuICovXG4gIHRheEZsYWdJZDogc3RyaW5nO1xuXG4gIC8qKiBOYXR1cmFsZXphIGRlbCBpbXB1ZXN0by4gXCJUXCIgVHJhc2xhZG8gbyBcIlJcIiBSZXRlbmNpw7NuIEV4cGFuZGlkbyAqL1xuICB0YXhGbGFnPzogQ2F0YWxvZ0R0bztcblxuICAvKiogVGlwbyBkZSBpbXB1ZXN0byBcIlRhc2FcIiBUYXNhIHwgXCJDdW90YVwiIEN1b3RhIHwgXCJFeGVudG9cIiBFeGVudG8gKi9cbiAgdGF4VHlwZUlkOiBzdHJpbmc7XG5cbiAgLyoqIFRpcG8gZGUgaW1wdWVzdG8gXCJUYXNhXCIgVGFzYSB8IFwiQ3VvdGFcIiBDdW90YSB8IFwiRXhlbnRvXCIgRXhlbnRvIEV4cGFuZGlkbyAqL1xuICB0YXhUeXBlPzogQ2F0YWxvZ0R0bztcbn0iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL3RheC1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIgXG4vLyBzcmMvbW9kZWxzL3RheC1maWxlLnRzXG5pbXBvcnQgeyBCYXNlRHRvIH0gZnJvbSAnLi4vY29tbW9uL2Jhc2UtZHRvJztcblxuLyoqXG4gKiBNb2RlbG8gVGF4RmlsZVxuICogUmVwcmVzZW50YSB1biBjb21wb25lbnRlIGluZGl2aWR1YWwgZGUgdW4gcGFyIENTRCAtIHlhIHNlYSBlbCBjZXJ0aWZpY2FkbyAoLmNlcikgbyBsYSBsbGF2ZSBwcml2YWRhICgua2V5KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRheEZpbGUgZXh0ZW5kcyBCYXNlRHRvICB7XG4gIC8qKiBJZCBkZSBsYSBwZXJzb25hIHByb3BpZXRhcmlhIGRlbCBjZXJ0aWZpY2FkbyAqL1xuICBwZXJzb25JZDogc3RyaW5nO1xuXG4gIC8qKiBSRkMgZGVsIHByb3BpZXRhcmlvIGRlbCBjZXJ0aWZpY2Fkby4gRGViZSBjb2luY2lkaXIgY29uIGVsIFJGQyBkZWwgY2VydGlmaWNhZG8gKi9cbiAgdGluOiBzdHJpbmc7XG5cbiAgLyoqIEFyY2hpdm8gY2VydGlmaWNhZG8gbyBsbGF2ZSBwcml2YWRhIGVuIGZvcm1hdG8gYmFzZTY0LiBQYXJhIGNlcnRpZmljYWRvcyBkZWJlIHNlciBlbCBhcmNoaXZvIC5jZXIgY29kaWZpY2FkbyBlbiBiYXNlNjQsIHBhcmEgbGxhdmVzIHByaXZhZGFzIGRlYmUgc2VyIGVsIGFyY2hpdm8gLmtleSBjb2RpZmljYWRvIGVuIGJhc2U2NCAqL1xuICBiYXNlNjRGaWxlOiBzdHJpbmc7XG5cbiAgLyoqIFRpcG8gZGUgYXJjaGl2byBxdWUgc2UgZXN0w6EgZW52aWFuZG8uIFZhbG9yZXM6IFwiMDFcIiAqL1xuICBmaWxlVHlwZTogbnVtYmVyO1xuXG4gIC8qKiBDb250cmFzZcOxYSBkZSBsYSBsbGF2ZSBwcml2YWRhLiBJbmRlcGVuZGllbnRlbWVudGUgc2kgc2UgZW52w61hIHVuIGNlcnRpZmljYWRvIG8gdW5hIGxsYXZlIHByaXZhZGEsIHNpZW1wcmUgc2UgZGViZSBlbnZpYXIgbGEgY29udHJhc2XDsWEgZGUgbGEgbGxhdmUgcHJpdmFkYSAqL1xuICBwYXNzd29yZDogc3RyaW5nO1xuXG4gIC8qKiBGZWNoYSBkZSBpbmljaW8gZGUgdmlnZW5jaWEgZGVsIGNlcnRpZmljYWRvIG8gbGxhdmUgcHJpdmFkYS4gQ2FsY3VsYWRvIGF1dG9tw6F0aWNhbWVudGUgKi9cbiAgdmFsaWRGcm9tPzogRGF0ZTtcblxuICAvKiogRmVjaGEgZGUgZmluIGRlIHZpZ2VuY2lhIGRlbCBjZXJ0aWZpY2FkbyBvIGxsYXZlIHByaXZhZGEuIENhbGN1bGFkbyBhdXRvbcOhdGljYW1lbnRlICovXG4gIHZhbGlkVG8/OiBEYXRlO1xuXG4gIC8qKiBOdW1lcm8gZGUgc2VjdWVuY2lhIHF1ZSBpZGVudGlmaWNhIGVsIHBhciBlbnRyZSBjZXJ0aWZpY2FkbyB5IGxsYXZlIHByaXZhZGEuIFPDs2xvIGNvbiBmaW5lcyBpbmZvcm1hdGl2b3MgKi9cbiAgc2VxdWVuY2U/OiBudW1iZXI7XG59Il19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SdkConstants = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Constantes utilizadas en todo el SDK
|
|
6
|
+
*/
|
|
7
|
+
exports.SdkConstants = {
|
|
8
|
+
/**
|
|
9
|
+
* Formato de fecha SAT (para facturas mexicanas)
|
|
10
|
+
*/
|
|
11
|
+
SAT_DATE_FORMAT: 'yyyy-MM-ddTHH:mm:ss',
|
|
12
|
+
/**
|
|
13
|
+
* Versión predeterminada de la API
|
|
14
|
+
*/
|
|
15
|
+
DEFAULT_API_VERSION: 'v4',
|
|
16
|
+
/**
|
|
17
|
+
* Zona horaria predeterminada
|
|
18
|
+
*/
|
|
19
|
+
DEFAULT_TIME_ZONE: 'America/Mexico_City',
|
|
20
|
+
/**
|
|
21
|
+
* Tiempo de espera HTTP predeterminado en milisegundos
|
|
22
|
+
*/
|
|
23
|
+
DEFAULT_HTTP_TIMEOUT: 30000
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZGstY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBOztHQUVHO0FBQ1UsUUFBQSxZQUFZLEdBQUc7SUFDeEI7O09BRUc7SUFDSCxlQUFlLEVBQUUscUJBQXFCO0lBRXRDOztPQUVHO0lBQ0gsbUJBQW1CLEVBQUUsSUFBSTtJQUV6Qjs7T0FFRztJQUNILGlCQUFpQixFQUFFLHFCQUFxQjtJQUV4Qzs7T0FFRztJQUNILG9CQUFvQixFQUFFLEtBQUs7Q0FDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiBcbi8qKlxuICogQ29uc3RhbnRlcyB1dGlsaXphZGFzIGVuIHRvZG8gZWwgU0RLXG4gKi9cbmV4cG9ydCBjb25zdCBTZGtDb25zdGFudHMgPSB7XG4gICAgLyoqXG4gICAgICogRm9ybWF0byBkZSBmZWNoYSBTQVQgKHBhcmEgZmFjdHVyYXMgbWV4aWNhbmFzKVxuICAgICAqL1xuICAgIFNBVF9EQVRFX0ZPUk1BVDogJ3l5eXktTU0tZGRUSEg6bW06c3MnLFxuICAgIFxuICAgIC8qKlxuICAgICAqIFZlcnNpw7NuIHByZWRldGVybWluYWRhIGRlIGxhIEFQSVxuICAgICAqL1xuICAgIERFRkFVTFRfQVBJX1ZFUlNJT046ICd2NCcsXG4gICAgXG4gICAgLyoqXG4gICAgICogWm9uYSBob3JhcmlhIHByZWRldGVybWluYWRhXG4gICAgICovXG4gICAgREVGQVVMVF9USU1FX1pPTkU6ICdBbWVyaWNhL01leGljb19DaXR5JyxcbiAgICBcbiAgICAvKipcbiAgICAgKiBUaWVtcG8gZGUgZXNwZXJhIEhUVFAgcHJlZGV0ZXJtaW5hZG8gZW4gbWlsaXNlZ3VuZG9zXG4gICAgICovXG4gICAgREVGQVVMVF9IVFRQX1RJTUVPVVQ6IDMwMDAwXG4gIH07Il19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiKeyService = void 0;
|
|
4
|
+
const base_fiscalapi_service_1 = require("./base-fiscalapi-service");
|
|
5
|
+
/**
|
|
6
|
+
* Implementación del servicio de claves de API
|
|
7
|
+
*/
|
|
8
|
+
class ApiKeyService extends base_fiscalapi_service_1.BaseFiscalapiService {
|
|
9
|
+
/**
|
|
10
|
+
* Crea una nueva instancia del servicio de claves de API
|
|
11
|
+
* @param {IFiscalapiHttpClient} httpClient - Cliente HTTP
|
|
12
|
+
* @param {string} apiVersion - Versión de la API
|
|
13
|
+
*/
|
|
14
|
+
constructor(httpClient, apiVersion) {
|
|
15
|
+
super(httpClient, 'apikeys', apiVersion);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ApiKeyService = ApiKeyService;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2FwaS1rZXktc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxxRUFBZ0U7QUFHaEU7O0dBRUc7QUFDSCxNQUFhLGFBQWMsU0FBUSw2Q0FBNEI7SUFDN0Q7Ozs7T0FJRztJQUNILFlBQVksVUFBZ0MsRUFBRSxVQUFrQjtRQUM5RCxLQUFLLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFURCxzQ0FTQyIsInNvdXJjZXNDb250ZW50IjpbIiBcbmltcG9ydCB7IEFwaUtleSB9IGZyb20gJy4uL21vZGVscy9hcGkta2V5JztcbmltcG9ydCB7IElGaXNjYWxhcGlIdHRwQ2xpZW50IH0gZnJvbSAnLi4vaHR0cC9maXNjYWxhcGktaHR0cC1jbGllbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhc2VGaXNjYWxhcGlTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLWZpc2NhbGFwaS1zZXJ2aWNlJztcbmltcG9ydCB7IElBcGlLZXlTZXJ2aWNlIH0gZnJvbSAnLi4nO1xuXG4vKipcbiAqIEltcGxlbWVudGFjacOzbiBkZWwgc2VydmljaW8gZGUgY2xhdmVzIGRlIEFQSVxuICovXG5leHBvcnQgY2xhc3MgQXBpS2V5U2VydmljZSBleHRlbmRzIEJhc2VGaXNjYWxhcGlTZXJ2aWNlPEFwaUtleT4gaW1wbGVtZW50cyBJQXBpS2V5U2VydmljZSB7XG4gIC8qKlxuICAgKiBDcmVhIHVuYSBudWV2YSBpbnN0YW5jaWEgZGVsIHNlcnZpY2lvIGRlIGNsYXZlcyBkZSBBUElcbiAgICogQHBhcmFtIHtJRmlzY2FsYXBpSHR0cENsaWVudH0gaHR0cENsaWVudCAtIENsaWVudGUgSFRUUFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXBpVmVyc2lvbiAtIFZlcnNpw7NuIGRlIGxhIEFQSVxuICAgKi9cbiAgY29uc3RydWN0b3IoaHR0cENsaWVudDogSUZpc2NhbGFwaUh0dHBDbGllbnQsIGFwaVZlcnNpb246IHN0cmluZykge1xuICAgIHN1cGVyKGh0dHBDbGllbnQsICdhcGlrZXlzJywgYXBpVmVyc2lvbik7XG4gIH1cbn0iXX0=
|