@mecanizou/telemetry-hub 1.2.3 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/core/__tests__/logger.test.js +2 -2
- package/dist/core/logger.d.ts +3 -2
- package/dist/core/logger.js +12 -10
- package/dist/sst/middy/middleware.js +3 -3
- package/dist/sst/telemetry.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [1.3.1](https://github.com/mecanizou-eco/telemetry-hub/compare/v1.3.0...v1.3.1) (2026-01-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **logger:** fix defaultAttributes ([59e5673](https://github.com/mecanizou-eco/telemetry-hub/commit/59e5673324e48af6943e9bb09eae5bf9f832ca8b))
|
|
7
|
+
|
|
8
|
+
# [1.3.0](https://github.com/mecanizou-eco/telemetry-hub/compare/v1.2.3...v1.3.0) (2026-01-21)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **logger:** default attr with function name and invokation_id ([3b8caf0](https://github.com/mecanizou-eco/telemetry-hub/commit/3b8caf097a74bbf1a82c7478235f3e5312066c18))
|
|
14
|
+
|
|
1
15
|
## [1.2.3](https://github.com/mecanizou-eco/telemetry-hub/compare/v1.2.2...v1.2.3) (2026-01-20)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -294,7 +294,7 @@ const api_logs_1 = require("@opentelemetry/api-logs");
|
|
|
294
294
|
yield standardLogger.logInfo(fullData);
|
|
295
295
|
const emittedLog = mockLogger.emit.mock.calls[0][0];
|
|
296
296
|
const attrs = emittedLog.attributes;
|
|
297
|
-
(0, vitest_1.expect)(attrs['service.name']).toBe(
|
|
297
|
+
(0, vitest_1.expect)(attrs['service.name']).toBe(fullData.serviceName);
|
|
298
298
|
(0, vitest_1.expect)(attrs['deployment.environment.name']).toBe('production');
|
|
299
299
|
(0, vitest_1.expect)(attrs['error.type']).toBe('Error');
|
|
300
300
|
(0, vitest_1.expect)(attrs['http.method']).toBe('GET');
|
|
@@ -347,4 +347,4 @@ const api_logs_1 = require("@opentelemetry/api-logs");
|
|
|
347
347
|
});
|
|
348
348
|
});
|
|
349
349
|
});
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9fX3Rlc3RzX18vbG9nZ2VyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBOEQ7QUFDOUQsc0NBQTJDO0FBQzNDLHNEQUF5RDtBQUV6RCxJQUFBLGlCQUFRLEVBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzlCLElBQUksVUFBZSxDQUFDO0lBQ3BCLElBQUksVUFBZSxDQUFDO0lBQ3BCLElBQUksY0FBOEIsQ0FBQztJQUVuQyxJQUFBLG1CQUFVLEVBQUMsR0FBRyxFQUFFO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDO1FBQzFDLFVBQVUsR0FBRztZQUNYLElBQUksRUFBRSxXQUFFLENBQUMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztRQUNGLFVBQVUsR0FBRztZQUNYLFNBQVMsRUFBRSxXQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUNqQyxTQUFTLEVBQUUsV0FBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDakMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7d0JBQ2xCLE9BQU8sRUFBRSxlQUFlO3dCQUN4QixNQUFNLEVBQUUsY0FBYztxQkFDdkIsQ0FBQztpQkFDSCxDQUFDO2FBQ0gsQ0FBQztTQUNILENBQUM7UUFDRixjQUFjLEdBQUcsSUFBSSx1QkFBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM5RCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsaUJBQVEsRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO1FBQ3hCLElBQUEsV0FBRSxFQUFDLG9DQUFvQyxFQUFFLEdBQVMsRUFBRTtZQUNsRCxNQUFNLFNBQVMsR0FBRztnQkFDaEIsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsV0FBVyxFQUFFLGNBQWM7Z0JB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O2FBQ3BCLENBQUM7WUFFRixZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTlCLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRCxJQUFBLGVBQU0sRUFBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBQSxXQUFFLEVBQUMsaUVBQWlFLEVBQUUsR0FBRyxFQUFFO1lBQ3pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUM5QixNQUFNLGFBQWEsR0FBRyxJQUFJLHVCQUFjLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sT0FBTyxHQUFHO2dCQUNkLE9BQU8sRUFBRSxNQUFNO2dCQUNmLFdBQVcsRUFBRSxFQUFFO2dCQUNmLFdBQVcsRUFBRSxNQUFNO2FBQ3BCLENBQUM7WUFFRixhQUFhLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRS9CLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRCxJQUFBLGVBQU0sRUFBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVzY3JpYmUsIGl0LCBleHBlY3QsIHZpLCBiZWZvcmVFYWNoIH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB7IFN0YW5kYXJkTG9nZ2VyIH0gZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IFNldmVyaXR5TnVtYmVyIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpLWxvZ3MnO1xuXG5kZXNjcmliZSgnU3RhbmRhcmRMb2dnZXInLCAoKSA9PiB7XG4gIGxldCBtb2NrTG9nZ2VyOiBhbnk7XG4gIGxldCBtb2NrVHJhY2VyOiBhbnk7XG4gIGxldCBzdGFuZGFyZExvZ2dlcjogU3RhbmRhcmRMb2dnZXI7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FID0gJ3Rlc3Qtc2VydmljZSc7XG4gICAgbW9ja0xvZ2dlciA9IHtcbiAgICAgIGVtaXQ6IHZpLmZuKCksXG4gICAgfTtcbiAgICBtb2NrVHJhY2VyID0ge1xuICAgICAgZ2V0VHJhY2VyOiB2aS5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgIHN0YXJ0U3BhbjogdmkuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIHNwYW5Db250ZXh0OiAoKSA9PiAoe1xuICAgICAgICAgICAgdHJhY2VJZDogJ3Rlc3QtdHJhY2UtaWQnLFxuICAgICAgICAgICAgc3BhbklkOiAndGVzdC1zcGFuLWlkJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICB9O1xuICAgIHN0YW5kYXJkTG9nZ2VyID0gbmV3IFN0YW5kYXJkTG9nZ2VyKG1vY2tMb2dnZXIsIG1vY2tUcmFjZXIpO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9nRXJyb3InLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgZW1pdGlyIGxvZyBjb20gc2V2ZXJpdHkgRVJST1InLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdUZXN0IGVycm9yIG1lc3NhZ2UnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAndGVzdCcsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBleHBlY3QobW9ja0xvZ2dlci5lbWl0KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eU51bWJlcikudG9CZShTZXZlcml0eU51bWJlci5FUlJPUik7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eVRleHQpLnRvQmUoJ0VSUk9SJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5ib2R5KS50b0JlKCdUZXN0IGVycm9yIG1lc3NhZ2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGluY2x1aXIgaW5mb3JtYcOnw7VlcyBkbyBlcnJvIHF1YW5kbyBmb3JuZWNpZG8nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcignQ3VzdG9tIGVycm9yJyk7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdFcnJvciBvY2N1cnJlZCcsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydlcnJvci50eXBlJ10pLnRvQmUoJ0Vycm9yJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydlcnJvci5tZXNzYWdlJ10pLnRvQmUoJ0N1c3RvbSBlcnJvcicpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXJyb3Iuc3RhY2snXSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGluY2x1aXIgY29udGV4dG8gSFRUUCBxdWFuZG8gZm9ybmVjaWRvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnSFRUUCBlcnJvcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgaHR0cDoge1xuICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgIHVybDogJy9hcGkvdGVzdCcsXG4gICAgICAgICAgZW5kcG9pbnQ6ICcvYXBpL3Rlc3QnLFxuICAgICAgICAgIHN0YXR1c0NvZGU6IDUwMCxcbiAgICAgICAgICBoZWFkZXJzOiB7ICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgICBib2R5OiB7IHRlc3Q6ICdkYXRhJyB9LFxuICAgICAgICAgIHBhcmFtczogeyBpZDogJzEyMycgfSxcbiAgICAgICAgICBxdWVyeTogeyBmaWx0ZXI6ICdhY3RpdmUnIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwLm1ldGhvZCddKS50b0JlKCdQT1NUJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwLnVybCddKS50b0JlKCcvYXBpL3Rlc3QnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAuZW5kcG9pbnQnXSkudG9CZSgnL2FwaS90ZXN0Jyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwLnN0YXR1c19jb2RlJ10pLnRvQmUoNTAwKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAuaGVhZGVycyddKS50b0JlKFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7ICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSlcbiAgICAgICk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwLmJvZHknXSkudG9CZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoeyB0ZXN0OiAnZGF0YScgfSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBpbmNsdWlyIGluZm9ybWHDp8O1ZXMgZGUgdXN1w6FyaW8gcXVhbmRvIGZvcm5lY2lkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1VzZXIgZXJyb3InLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIHVzZXI6IHtcbiAgICAgICAgICBhY2NvdW50VXNlclVpZDogJ3VzZXItMTIzJyxcbiAgICAgICAgICBhY2NvdW50VWlkOiAnYWNjb3VudC00NTYnLFxuICAgICAgICAgIGFwcGxpY2F0aW9uVWlkOiAnYXBwLTc4OScsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydhY2NvdW50VXNlci51aWQnXSkudG9CZSgndXNlci0xMjMnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2FjY291bnQudWlkJ10pLnRvQmUoJ2FjY291bnQtNDU2Jyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydhcHBsaWNhdGlvbi51aWQnXSkudG9CZSgnYXBwLTc4OScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgaW5jbHVpciBpbmZvcm1hw6fDtWVzIGRlIGV4ZWN1w6fDo28gcXVhbmRvIGZvcm5lY2lkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0V4ZWN1dGlvbiBlcnJvcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgZXhlY3V0aW9uOiB7XG4gICAgICAgICAgcmVxdWVzdElkOiAncmVxLTEyMycsXG4gICAgICAgICAgYXdzUmVxdWVzdElkOiAnYXdzLTQ1NicsXG4gICAgICAgICAgZnVuY3Rpb25OYW1lOiAndGVzdEZ1bmN0aW9uJyxcbiAgICAgICAgICBpbnZvY2F0aW9uSWQ6ICdpbnYtNzg5JyxcbiAgICAgICAgICBjb250cm9sbGVyOiAnVGVzdENvbnRyb2xsZXInLFxuICAgICAgICAgIGNvbnRyb2xsZXJNZXRob2Q6ICd0ZXN0TWV0aG9kJyxcbiAgICAgICAgICBvcmlnaW46ICdtb2JpbGUnLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1sncmVxdWVzdC5pZCddKS50b0JlKCdyZXEtMTIzJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydhd3MucmVxdWVzdC5pZCddKS50b0JlKCdhd3MtNDU2Jyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydmdW5jdGlvbi5uYW1lJ10pLnRvQmUoJ3Rlc3RGdW5jdGlvbicpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZnVuY3Rpb24uaW52b2NhdGlvbl9pZCddKS50b0JlKCdpbnYtNzg5Jyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydjb250cm9sbGVyLm5hbWUnXSkudG9CZSgnVGVzdENvbnRyb2xsZXInKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2NvbnRyb2xsZXIubWV0aG9kJ10pLnRvQmUoJ3Rlc3RNZXRob2QnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ29yaWdpbiddKS50b0JlKCdtb2JpbGUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGluY2x1aXIgbcOpdHJpY2FzIGRlIHBlcmZvcm1hbmNlIHF1YW5kbyBmb3JuZWNpZG8nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdQZXJmb3JtYW5jZSBlcnJvcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zOiAxNTAwLFxuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZHVyYXRpb24ubXMnXSkudG9CZSgxNTAwKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2V4ZWN1dGlvbi5zdWNjZXNzJ10pLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgaW5jbHVpciBjb250ZXh0byBhZGljaW9uYWwgcXVhbmRvIGZvcm5lY2lkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0NvbnRleHQgZXJyb3InLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBhZGRpdGlvbmFsSW5mbzogJ3NvbWUgZGF0YScsXG4gICAgICAgICAgbmVzdGVkOiB7IHZhbHVlOiAxMjMgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2NvbnRleHQnXSkudG9CZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoeyBhZGRpdGlvbmFsSW5mbzogJ3NvbWUgZGF0YScsIG5lc3RlZDogeyB2YWx1ZTogMTIzIH0gfSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSB1c2FyIHNlcnZpY2VOYW1lIHBhZHLDo28gcXVhbmRvIG7Do28gZm9ybmVjaWRvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnRGVmYXVsdCBzZXJ2aWNlIGVycm9yJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICcnLCAvLyBFbXB0eSBzdHJpbmcgcGFyYSB0ZXN0YXIgZmFsbGJhY2tcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3NlcnZpY2UubmFtZSddKS50b0JlKCd0ZXN0LXNlcnZpY2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGFkaWNpb25hciB0aW1lc3RhbXAgYXV0b21hdGljYW1lbnRlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnVGltZXN0YW1wIHRlc3QnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWyd0aW1lc3RhbXAnXSkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3RpbWVzdGFtcCddKS50b01hdGNoKFxuICAgICAgICAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9XFwuXFxkezN9WiQvXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgZmlsdHJhciB2YWxvcmVzIHVuZGVmaW5lZCBlIG51bGwgZG9zIGF0cmlidXRvcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0ZpbHRlciB0ZXN0JyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgYWNjb3VudFVzZXJVaWQ6ICd1c2VyLTEyMycsXG4gICAgICAgICAgYWNjb3VudFVpZDogdW5kZWZpbmVkIGFzIGFueSxcbiAgICAgICAgICBhcHBsaWNhdGlvblVpZDogdW5kZWZpbmVkIGFzIGFueSxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2FjY291bnRVc2VyLnVpZCddKS50b0JlKCd1c2VyLTEyMycpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snYWNjb3VudC51aWQnXSkudG9CZVVuZGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snYXBwbGljYXRpb24udWlkJ10pLnRvQmVVbmRlZmluZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ0luZm8nLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgZW1pdGlyIGxvZyBjb20gc2V2ZXJpdHkgSU5GTycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGluZm9EYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnSW5mbyBtZXNzYWdlJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nSW5mbyhpbmZvRGF0YSk7XG5cbiAgICAgIGV4cGVjdChtb2NrTG9nZ2VyLmVtaXQpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLnNldmVyaXR5TnVtYmVyKS50b0JlKFNldmVyaXR5TnVtYmVyLklORk8pO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuc2V2ZXJpdHlUZXh0KS50b0JlKCdJTkZPJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5ib2R5KS50b0JlKCdJbmZvIG1lc3NhZ2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGluY2x1aXIgZGFkb3MgZGUgcGVyZm9ybWFuY2UgZW0gbG9nIGRlIHN1Y2Vzc28nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBpbmZvRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1JlcXVlc3QgY29tcGxldGVkJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgICBwZXJmb3JtYW5jZToge1xuICAgICAgICAgIGR1cmF0aW9uTXM6IDI1MCxcbiAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nSW5mbyhpbmZvRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2R1cmF0aW9uLm1zJ10pLnRvQmUoMjUwKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2V4ZWN1dGlvbi5zdWNjZXNzJ10pLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dXYXJuJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIGVtaXRpciBsb2cgY29tIHNldmVyaXR5IFdBUk4nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB3YXJuRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1dhcm5pbmcgbWVzc2FnZScsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ1dhcm4od2FybkRhdGEpO1xuXG4gICAgICBleHBlY3QobW9ja0xvZ2dlci5lbWl0KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eU51bWJlcikudG9CZShTZXZlcml0eU51bWJlci5XQVJOKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLnNldmVyaXR5VGV4dCkudG9CZSgnV0FSTicpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYm9keSkudG9CZSgnV2FybmluZyBtZXNzYWdlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dEZWJ1ZycsICgpID0+IHtcbiAgICBpdCgnZGV2ZSBlbWl0aXIgbG9nIGNvbSBzZXZlcml0eSBERUJVRycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGRlYnVnRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0RlYnVnIG1lc3NhZ2UnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAnZGV2ZWxvcG1lbnQnLFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRGVidWcoZGVidWdEYXRhKTtcblxuICAgICAgZXhwZWN0KG1vY2tMb2dnZXIuZW1pdCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuc2V2ZXJpdHlOdW1iZXIpLnRvQmUoU2V2ZXJpdHlOdW1iZXIuREVCVUcpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuc2V2ZXJpdHlUZXh0KS50b0JlKCdERUJVRycpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYm9keSkudG9CZSgnRGVidWcgbWVzc2FnZScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYnVpbGRBdHRyaWJ1dGVzJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIGNvbnN0cnVpciBhdHJpYnV0b3MgY29tcGxldG9zIGNvbSB0b2RvcyBvcyBjYW1wb3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmdWxsRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0NvbXBsZXRlIGxvZycsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAnY29tcGxldGUtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIGVycm9yOiBuZXcgRXJyb3IoJ1Rlc3QgZXJyb3InKSxcbiAgICAgICAgaHR0cDoge1xuICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgdXJsOiAnL2FwaS91c2VycycsXG4gICAgICAgICAgZW5kcG9pbnQ6ICcvYXBpL3VzZXJzJyxcbiAgICAgICAgICBzdGF0dXNDb2RlOiAyMDAsXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXI6IHtcbiAgICAgICAgICBhY2NvdW50VXNlclVpZDogJ3VzZXItYWJjJyxcbiAgICAgICAgICBhY2NvdW50VWlkOiAnYWNjb3VudC14eXonLFxuICAgICAgICAgIGFwcGxpY2F0aW9uVWlkOiAnYXBwLTEyMycsXG4gICAgICAgIH0sXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIHJlcXVlc3RJZDogJ3JlcS0wMDEnLFxuICAgICAgICAgIGF3c1JlcXVlc3RJZDogJ2F3cy0wMDInLFxuICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ2dldFVzZXJzJyxcbiAgICAgICAgICBpbnZvY2F0aW9uSWQ6ICdpbnYtMDAzJyxcbiAgICAgICAgICBjb250cm9sbGVyOiAnVXNlckNvbnRyb2xsZXInLFxuICAgICAgICAgIGNvbnRyb2xsZXJNZXRob2Q6ICdnZXRBbGwnLFxuICAgICAgICAgIG9yaWdpbjogJ3dlYicsXG4gICAgICAgIH0sXG4gICAgICAgIHBlcmZvcm1hbmNlOiB7XG4gICAgICAgICAgZHVyYXRpb25NczogMzAwLFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBjdXN0b206ICdkYXRhJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8oZnVsbERhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBjb25zdCBhdHRycyA9IGVtaXR0ZWRMb2cuYXR0cmlidXRlcztcblxuICAgICAgLy8gVmVyaWZpY2FyIHRvZG9zIG9zIGNhbXBvc1xuICAgICAgZXhwZWN0KGF0dHJzWydzZXJ2aWNlLm5hbWUnXSkudG9CZSgnY29tcGxldGUtc2VydmljZScpO1xuICAgICAgZXhwZWN0KGF0dHJzWydkZXBsb3ltZW50LmVudmlyb25tZW50Lm5hbWUnXSkudG9CZSgncHJvZHVjdGlvbicpO1xuICAgICAgZXhwZWN0KGF0dHJzWydlcnJvci50eXBlJ10pLnRvQmUoJ0Vycm9yJyk7XG4gICAgICBleHBlY3QoYXR0cnNbJ2h0dHAubWV0aG9kJ10pLnRvQmUoJ0dFVCcpO1xuICAgICAgZXhwZWN0KGF0dHJzWydhY2NvdW50VXNlci51aWQnXSkudG9CZSgndXNlci1hYmMnKTtcbiAgICAgIGV4cGVjdChhdHRyc1sncmVxdWVzdC5pZCddKS50b0JlKCdyZXEtMDAxJyk7XG4gICAgICBleHBlY3QoYXR0cnNbJ2R1cmF0aW9uLm1zJ10pLnRvQmUoMzAwKTtcbiAgICAgIGV4cGVjdChhdHRyc1snY29udGV4dCddKS50b0JlKEpTT04uc3RyaW5naWZ5KHsgY3VzdG9tOiAnZGF0YScgfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgbGlkYXIgY29tIGNhbXBvcyBIVFRQIHBhcmNpYWlzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcGFydGlhbEh0dHBEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnUGFydGlhbCBIVFRQJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgICBodHRwOiB7XG4gICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgZW5kcG9pbnQ6ICcvYXBpL3Rlc3QnLFxuICAgICAgICAgIC8vIHVybCwgc3RhdHVzQ29kZSwgaGVhZGVycywgZXRjIG7Do28gZm9ybmVjaWRvc1xuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nSW5mbyhwYXJ0aWFsSHR0cERhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwLm1ldGhvZCddKS50b0JlKCdQT1NUJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwLmVuZHBvaW50J10pLnRvQmUoJy9hcGkvdGVzdCcpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cC51cmwnXSkudG9CZVVuZGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cC5zdGF0dXNfY29kZSddKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjb25zdHJ1dG9yJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIGFjZWl0YXIgc2VydmljZU5hbWUgcGFkcsOjbyBwZXJzb25hbGl6YWRvJywgKCkgPT4ge1xuICAgICAgY29uc3QgY3VzdG9tTG9nZ2VyID0gbmV3IFN0YW5kYXJkTG9nZ2VyKG1vY2tMb2dnZXIsIG1vY2tUcmFjZXIpO1xuICAgICAgY29uc3QgbG9nRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1Rlc3QnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJycsXG4gICAgICAgIGVudmlyb25tZW50OiAndGVzdCcsXG4gICAgICB9O1xuXG4gICAgICBjdXN0b21Mb2dnZXIubG9nSW5mbyhsb2dEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snc2VydmljZS5uYW1lJ10pLnRvQmUoJ3Rlc3Qtc2VydmljZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgdXNhciBcInVua25vd24tc2VydmljZVwiIGNvbW8gcGFkcsOjbyBxdWFuZG8gbsOjbyBlc3BlY2lmaWNhZG8nLCAoKSA9PiB7XG4gICAgICBwcm9jZXNzLmVudi5TRVJWSUNFX05BTUUgPSAnJztcbiAgICAgIGNvbnN0IGRlZmF1bHRMb2dnZXIgPSBuZXcgU3RhbmRhcmRMb2dnZXIobW9ja0xvZ2dlciwgbW9ja1RyYWNlcik7XG4gICAgICBjb25zdCBsb2dEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnVGVzdCcsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAnJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICd0ZXN0JyxcbiAgICAgIH07XG5cbiAgICAgIGRlZmF1bHRMb2dnZXIubG9nSW5mbyhsb2dEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snc2VydmljZS5uYW1lJ10pLnRvQmUoJ3Vua25vd24tc2VydmljZScpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9fX3Rlc3RzX18vbG9nZ2VyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBOEQ7QUFDOUQsc0NBQTJDO0FBQzNDLHNEQUF5RDtBQUV6RCxJQUFBLGlCQUFRLEVBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzlCLElBQUksVUFBZSxDQUFDO0lBQ3BCLElBQUksVUFBZSxDQUFDO0lBQ3BCLElBQUksY0FBOEIsQ0FBQztJQUVuQyxJQUFBLG1CQUFVLEVBQUMsR0FBRyxFQUFFO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDO1FBQzFDLFVBQVUsR0FBRztZQUNYLElBQUksRUFBRSxXQUFFLENBQUMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztRQUNGLFVBQVUsR0FBRztZQUNYLFNBQVMsRUFBRSxXQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUNqQyxTQUFTLEVBQUUsV0FBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDakMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7d0JBQ2xCLE9BQU8sRUFBRSxlQUFlO3dCQUN4QixNQUFNLEVBQUUsY0FBYztxQkFDdkIsQ0FBQztpQkFDSCxDQUFDO2FBQ0gsQ0FBQztTQUNILENBQUM7UUFDRixjQUFjLEdBQUcsSUFBSSx1QkFBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM5RCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsaUJBQVEsRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO1FBQ3hCLElBQUEsV0FBRSxFQUFDLG9DQUFvQyxFQUFFLEdBQVMsRUFBRTtZQUNsRCxNQUFNLFNBQVMsR0FBRztnQkFDaEIsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsV0FBVyxFQUFFLGNBQWM7Z0JB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QUFFLE1BQU07YUFDcEIsQ0FBQztZQUVGLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFOUIsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BELElBQUEsZUFBTSxFQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFBLFdBQUUsRUFBQyxpRUFBaUUsRUFBRSxHQUFHLEVBQUU7WUFDekUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQzlCLE1BQU0sYUFBYSxHQUFHLElBQUksdUJBQWMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDakUsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsV0FBVyxFQUFFLE1BQU07YUFDcEIsQ0FBQztZQUVGLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFL0IsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BELElBQUEsZUFBTSxFQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXNjcmliZSwgaXQsIGV4cGVjdCwgdmksIGJlZm9yZUVhY2ggfSBmcm9tICd2aXRlc3QnO1xuaW1wb3J0IHsgU3RhbmRhcmRMb2dnZXIgfSBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHsgU2V2ZXJpdHlOdW1iZXIgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGktbG9ncyc7XG5cbmRlc2NyaWJlKCdTdGFuZGFyZExvZ2dlcicsICgpID0+IHtcbiAgbGV0IG1vY2tMb2dnZXI6IGFueTtcbiAgbGV0IG1vY2tUcmFjZXI6IGFueTtcbiAgbGV0IHN0YW5kYXJkTG9nZ2VyOiBTdGFuZGFyZExvZ2dlcjtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBwcm9jZXNzLmVudi5TRVJWSUNFX05BTUUgPSAndGVzdC1zZXJ2aWNlJztcbiAgICBtb2NrTG9nZ2VyID0ge1xuICAgICAgZW1pdDogdmkuZm4oKSxcbiAgICB9O1xuICAgIG1vY2tUcmFjZXIgPSB7XG4gICAgICBnZXRUcmFjZXI6IHZpLmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgc3RhcnRTcGFuOiB2aS5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgICAgc3BhbkNvbnRleHQ6ICgpID0+ICh7XG4gICAgICAgICAgICB0cmFjZUlkOiAndGVzdC10cmFjZS1pZCcsXG4gICAgICAgICAgICBzcGFuSWQ6ICd0ZXN0LXNwYW4taWQnLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgIH07XG4gICAgc3RhbmRhcmRMb2dnZXIgPSBuZXcgU3RhbmRhcmRMb2dnZXIobW9ja0xvZ2dlciwgbW9ja1RyYWNlcik7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dFcnJvcicsICgpID0+IHtcbiAgICBpdCgnZGV2ZSBlbWl0aXIgbG9nIGNvbSBzZXZlcml0eSBFUlJPUicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1Rlc3QgZXJyb3IgbWVzc2FnZScsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICd0ZXN0JyxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGV4cGVjdChtb2NrTG9nZ2VyLmVtaXQpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLnNldmVyaXR5TnVtYmVyKS50b0JlKFNldmVyaXR5TnVtYmVyLkVSUk9SKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLnNldmVyaXR5VGV4dCkudG9CZSgnRVJST1InKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmJvZHkpLnRvQmUoJ1Rlc3QgZXJyb3IgbWVzc2FnZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgaW5jbHVpciBpbmZvcm1hw6fDtWVzIGRvIGVycm8gcXVhbmRvIGZvcm5lY2lkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKCdDdXN0b20gZXJyb3InKTtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0Vycm9yIG9jY3VycmVkJyxcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2Vycm9yLnR5cGUnXSkudG9CZSgnRXJyb3InKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2Vycm9yLm1lc3NhZ2UnXSkudG9CZSgnQ3VzdG9tIGVycm9yJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydlcnJvci5zdGFjayddKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgaW5jbHVpciBjb250ZXh0byBIVFRQIHF1YW5kbyBmb3JuZWNpZG8nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdIVFRQIGVycm9yJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgICBodHRwOiB7XG4gICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgdXJsOiAnL2FwaS90ZXN0JyxcbiAgICAgICAgICBlbmRwb2ludDogJy9hcGkvdGVzdCcsXG4gICAgICAgICAgc3RhdHVzQ29kZTogNTAwLFxuICAgICAgICAgIGhlYWRlcnM6IHsgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgICAgIGJvZHk6IHsgdGVzdDogJ2RhdGEnIH0sXG4gICAgICAgICAgcGFyYW1zOiB7IGlkOiAnMTIzJyB9LFxuICAgICAgICAgIHF1ZXJ5OiB7IGZpbHRlcjogJ2FjdGl2ZScgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAubWV0aG9kJ10pLnRvQmUoJ1BPU1QnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAudXJsJ10pLnRvQmUoJy9hcGkvdGVzdCcpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cC5lbmRwb2ludCddKS50b0JlKCcvYXBpL3Rlc3QnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAuc3RhdHVzX2NvZGUnXSkudG9CZSg1MDApO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cC5oZWFkZXJzJ10pLnRvQmUoXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHsgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KVxuICAgICAgKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAuYm9keSddKS50b0JlKFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7IHRlc3Q6ICdkYXRhJyB9KVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGluY2x1aXIgaW5mb3JtYcOnw7VlcyBkZSB1c3XDoXJpbyBxdWFuZG8gZm9ybmVjaWRvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnVXNlciBlcnJvcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgdXNlcjoge1xuICAgICAgICAgIGFjY291bnRVc2VyVWlkOiAndXNlci0xMjMnLFxuICAgICAgICAgIGFjY291bnRVaWQ6ICdhY2NvdW50LTQ1NicsXG4gICAgICAgICAgYXBwbGljYXRpb25VaWQ6ICdhcHAtNzg5JyxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2FjY291bnRVc2VyLnVpZCddKS50b0JlKCd1c2VyLTEyMycpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snYWNjb3VudC51aWQnXSkudG9CZSgnYWNjb3VudC00NTYnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2FwcGxpY2F0aW9uLnVpZCddKS50b0JlKCdhcHAtNzg5Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBpbmNsdWlyIGluZm9ybWHDp8O1ZXMgZGUgZXhlY3XDp8OjbyBxdWFuZG8gZm9ybmVjaWRvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnRXhlY3V0aW9uIGVycm9yJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICByZXF1ZXN0SWQ6ICdyZXEtMTIzJyxcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6ICdhd3MtNDU2JyxcbiAgICAgICAgICBmdW5jdGlvbk5hbWU6ICd0ZXN0RnVuY3Rpb24nLFxuICAgICAgICAgIGludm9jYXRpb25JZDogJ2ludi03ODknLFxuICAgICAgICAgIGNvbnRyb2xsZXI6ICdUZXN0Q29udHJvbGxlcicsXG4gICAgICAgICAgY29udHJvbGxlck1ldGhvZDogJ3Rlc3RNZXRob2QnLFxuICAgICAgICAgIG9yaWdpbjogJ21vYmlsZScsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydyZXF1ZXN0LmlkJ10pLnRvQmUoJ3JlcS0xMjMnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2F3cy5yZXF1ZXN0LmlkJ10pLnRvQmUoJ2F3cy00NTYnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2Z1bmN0aW9uLm5hbWUnXSkudG9CZSgndGVzdEZ1bmN0aW9uJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydmdW5jdGlvbi5pbnZvY2F0aW9uX2lkJ10pLnRvQmUoJ2ludi03ODknKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2NvbnRyb2xsZXIubmFtZSddKS50b0JlKCdUZXN0Q29udHJvbGxlcicpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snY29udHJvbGxlci5tZXRob2QnXSkudG9CZSgndGVzdE1ldGhvZCcpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snb3JpZ2luJ10pLnRvQmUoJ21vYmlsZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgaW5jbHVpciBtw6l0cmljYXMgZGUgcGVyZm9ybWFuY2UgcXVhbmRvIGZvcm5lY2lkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1BlcmZvcm1hbmNlIGVycm9yJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgICBwZXJmb3JtYW5jZToge1xuICAgICAgICAgIGR1cmF0aW9uTXM6IDE1MDAsXG4gICAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydkdXJhdGlvbi5tcyddKS50b0JlKDE1MDApO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXhlY3V0aW9uLnN1Y2Nlc3MnXSkudG9CZShmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBpbmNsdWlyIGNvbnRleHRvIGFkaWNpb25hbCBxdWFuZG8gZm9ybmVjaWRvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnQ29udGV4dCBlcnJvcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIGFkZGl0aW9uYWxJbmZvOiAnc29tZSBkYXRhJyxcbiAgICAgICAgICBuZXN0ZWQ6IHsgdmFsdWU6IDEyMyB9LFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snY29udGV4dCddKS50b0JlKFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7IGFkZGl0aW9uYWxJbmZvOiAnc29tZSBkYXRhJywgbmVzdGVkOiB7IHZhbHVlOiAxMjMgfSB9KVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIHVzYXIgc2VydmljZU5hbWUgcGFkcsOjbyBxdWFuZG8gbsOjbyBmb3JuZWNpZG8nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdEZWZhdWx0IHNlcnZpY2UgZXJyb3InLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJycsIC8vIEVtcHR5IHN0cmluZyBwYXJhIHRlc3RhciBmYWxsYmFja1xuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snc2VydmljZS5uYW1lJ10pLnRvQmUoJ3Rlc3Qtc2VydmljZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgYWRpY2lvbmFyIHRpbWVzdGFtcCBhdXRvbWF0aWNhbWVudGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdUaW1lc3RhbXAgdGVzdCcsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3RpbWVzdGFtcCddKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1sndGltZXN0YW1wJ10pLnRvTWF0Y2goXG4gICAgICAgIC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn1cXC5cXGR7M31aJC9cbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBmaWx0cmFyIHZhbG9yZXMgdW5kZWZpbmVkIGUgbnVsbCBkb3MgYXRyaWJ1dG9zJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnRmlsdGVyIHRlc3QnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIHVzZXI6IHtcbiAgICAgICAgICBhY2NvdW50VXNlclVpZDogJ3VzZXItMTIzJyxcbiAgICAgICAgICBhY2NvdW50VWlkOiB1bmRlZmluZWQgYXMgYW55LFxuICAgICAgICAgIGFwcGxpY2F0aW9uVWlkOiB1bmRlZmluZWQgYXMgYW55LFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snYWNjb3VudFVzZXIudWlkJ10pLnRvQmUoJ3VzZXItMTIzJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydhY2NvdW50LnVpZCddKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydhcHBsaWNhdGlvbi51aWQnXSkudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9nSW5mbycsICgpID0+IHtcbiAgICBpdCgnZGV2ZSBlbWl0aXIgbG9nIGNvbSBzZXZlcml0eSBJTkZPJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgaW5mb0RhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdJbmZvIG1lc3NhZ2UnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dJbmZvKGluZm9EYXRhKTtcblxuICAgICAgZXhwZWN0KG1vY2tMb2dnZXIuZW1pdCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuc2V2ZXJpdHlOdW1iZXIpLnRvQmUoU2V2ZXJpdHlOdW1iZXIuSU5GTyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eVRleHQpLnRvQmUoJ0lORk8nKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmJvZHkpLnRvQmUoJ0luZm8gbWVzc2FnZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgaW5jbHVpciBkYWRvcyBkZSBwZXJmb3JtYW5jZSBlbSBsb2cgZGUgc3VjZXNzbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGluZm9EYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnUmVxdWVzdCBjb21wbGV0ZWQnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIHBlcmZvcm1hbmNlOiB7XG4gICAgICAgICAgZHVyYXRpb25NczogMjUwLFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dJbmZvKGluZm9EYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZHVyYXRpb24ubXMnXSkudG9CZSgyNTApO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXhlY3V0aW9uLnN1Y2Nlc3MnXSkudG9CZSh0cnVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ1dhcm4nLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgZW1pdGlyIGxvZyBjb20gc2V2ZXJpdHkgV0FSTicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdhcm5EYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnV2FybmluZyBtZXNzYWdlJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nV2Fybih3YXJuRGF0YSk7XG5cbiAgICAgIGV4cGVjdChtb2NrTG9nZ2VyLmVtaXQpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLnNldmVyaXR5TnVtYmVyKS50b0JlKFNldmVyaXR5TnVtYmVyLldBUk4pO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuc2V2ZXJpdHlUZXh0KS50b0JlKCdXQVJOJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5ib2R5KS50b0JlKCdXYXJuaW5nIG1lc3NhZ2UnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ0RlYnVnJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIGVtaXRpciBsb2cgY29tIHNldmVyaXR5IERFQlVHJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZGVidWdEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnRGVidWcgbWVzc2FnZScsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdkZXZlbG9wbWVudCcsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dEZWJ1ZyhkZWJ1Z0RhdGEpO1xuXG4gICAgICBleHBlY3QobW9ja0xvZ2dlci5lbWl0KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eU51bWJlcikudG9CZShTZXZlcml0eU51bWJlci5ERUJVRyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eVRleHQpLnRvQmUoJ0RFQlVHJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5ib2R5KS50b0JlKCdEZWJ1ZyBtZXNzYWdlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdidWlsZEF0dHJpYnV0ZXMnLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgY29uc3RydWlyIGF0cmlidXRvcyBjb21wbGV0b3MgY29tIHRvZG9zIG9zIGNhbXBvcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZ1bGxEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnQ29tcGxldGUgbG9nJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICdjb21wbGV0ZS1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgZXJyb3I6IG5ldyBFcnJvcignVGVzdCBlcnJvcicpLFxuICAgICAgICBodHRwOiB7XG4gICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICB1cmw6ICcvYXBpL3VzZXJzJyxcbiAgICAgICAgICBlbmRwb2ludDogJy9hcGkvdXNlcnMnLFxuICAgICAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgfSxcbiAgICAgICAgdXNlcjoge1xuICAgICAgICAgIGFjY291bnRVc2VyVWlkOiAndXNlci1hYmMnLFxuICAgICAgICAgIGFjY291bnRVaWQ6ICdhY2NvdW50LXh5eicsXG4gICAgICAgICAgYXBwbGljYXRpb25VaWQ6ICdhcHAtMTIzJyxcbiAgICAgICAgfSxcbiAgICAgICAgZXhlY3V0aW9uOiB7XG4gICAgICAgICAgcmVxdWVzdElkOiAncmVxLTAwMScsXG4gICAgICAgICAgYXdzUmVxdWVzdElkOiAnYXdzLTAwMicsXG4gICAgICAgICAgZnVuY3Rpb25OYW1lOiAnZ2V0VXNlcnMnLFxuICAgICAgICAgIGludm9jYXRpb25JZDogJ2ludi0wMDMnLFxuICAgICAgICAgIGNvbnRyb2xsZXI6ICdVc2VyQ29udHJvbGxlcicsXG4gICAgICAgICAgY29udHJvbGxlck1ldGhvZDogJ2dldEFsbCcsXG4gICAgICAgICAgb3JpZ2luOiAnd2ViJyxcbiAgICAgICAgfSxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zOiAzMDAsXG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIGN1c3RvbTogJ2RhdGEnLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nSW5mbyhmdWxsRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGNvbnN0IGF0dHJzID0gZW1pdHRlZExvZy5hdHRyaWJ1dGVzO1xuXG4gICAgICAvLyBWZXJpZmljYXIgdG9kb3Mgb3MgY2FtcG9zXG4gICAgICBleHBlY3QoYXR0cnNbJ3NlcnZpY2UubmFtZSddKS50b0JlKGZ1bGxEYXRhLnNlcnZpY2VOYW1lKTtcbiAgICAgIGV4cGVjdChhdHRyc1snZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJ10pLnRvQmUoJ3Byb2R1Y3Rpb24nKTtcbiAgICAgIGV4cGVjdChhdHRyc1snZXJyb3IudHlwZSddKS50b0JlKCdFcnJvcicpO1xuICAgICAgZXhwZWN0KGF0dHJzWydodHRwLm1ldGhvZCddKS50b0JlKCdHRVQnKTtcbiAgICAgIGV4cGVjdChhdHRyc1snYWNjb3VudFVzZXIudWlkJ10pLnRvQmUoJ3VzZXItYWJjJyk7XG4gICAgICBleHBlY3QoYXR0cnNbJ3JlcXVlc3QuaWQnXSkudG9CZSgncmVxLTAwMScpO1xuICAgICAgZXhwZWN0KGF0dHJzWydkdXJhdGlvbi5tcyddKS50b0JlKDMwMCk7XG4gICAgICBleHBlY3QoYXR0cnNbJ2NvbnRleHQnXSkudG9CZShKU09OLnN0cmluZ2lmeSh7IGN1c3RvbTogJ2RhdGEnIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGxpZGFyIGNvbSBjYW1wb3MgSFRUUCBwYXJjaWFpcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHBhcnRpYWxIdHRwRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1BhcnRpYWwgSFRUUCcsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgaHR0cDoge1xuICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgIGVuZHBvaW50OiAnL2FwaS90ZXN0JyxcbiAgICAgICAgICAvLyB1cmwsIHN0YXR1c0NvZGUsIGhlYWRlcnMsIGV0YyBuw6NvIGZvcm5lY2lkb3NcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8ocGFydGlhbEh0dHBEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cC5tZXRob2QnXSkudG9CZSgnUE9TVCcpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cC5lbmRwb2ludCddKS50b0JlKCcvYXBpL3Rlc3QnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAudXJsJ10pLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAuc3RhdHVzX2NvZGUnXSkudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29uc3RydXRvcicsICgpID0+IHtcbiAgICBpdCgnZGV2ZSBhY2VpdGFyIHNlcnZpY2VOYW1lIHBhZHLDo28gcGVyc29uYWxpemFkbycsICgpID0+IHtcbiAgICAgIGNvbnN0IGN1c3RvbUxvZ2dlciA9IG5ldyBTdGFuZGFyZExvZ2dlcihtb2NrTG9nZ2VyLCBtb2NrVHJhY2VyKTtcbiAgICAgIGNvbnN0IGxvZ0RhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdUZXN0JyxcbiAgICAgICAgc2VydmljZU5hbWU6ICcnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Rlc3QnLFxuICAgICAgfTtcblxuICAgICAgY3VzdG9tTG9nZ2VyLmxvZ0luZm8obG9nRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3NlcnZpY2UubmFtZSddKS50b0JlKCd0ZXN0LXNlcnZpY2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIHVzYXIgXCJ1bmtub3duLXNlcnZpY2VcIiBjb21vIHBhZHLDo28gcXVhbmRvIG7Do28gZXNwZWNpZmljYWRvJywgKCkgPT4ge1xuICAgICAgcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FID0gJyc7XG4gICAgICBjb25zdCBkZWZhdWx0TG9nZ2VyID0gbmV3IFN0YW5kYXJkTG9nZ2VyKG1vY2tMb2dnZXIsIG1vY2tUcmFjZXIpO1xuICAgICAgY29uc3QgbG9nRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1Rlc3QnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJycsXG4gICAgICAgIGVudmlyb25tZW50OiAndGVzdCcsXG4gICAgICB9O1xuXG4gICAgICBkZWZhdWx0TG9nZ2VyLmxvZ0luZm8obG9nRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3NlcnZpY2UubmFtZSddKS50b0JlKCd1bmtub3duLXNlcnZpY2UnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
package/dist/core/logger.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { Logger } from '@opentelemetry/api-logs';
|
|
2
2
|
import { IStandardLogger, StandardLogData } from './logger-types';
|
|
3
3
|
import { IStandardTracer } from './tracer-types';
|
|
4
|
+
import { Attributes } from '@opentelemetry/api';
|
|
4
5
|
interface LogParams extends Omit<StandardLogData, 'severity' | 'timestamp' | 'serviceName' | 'environment'> {
|
|
5
6
|
environment?: StandardLogData['environment'];
|
|
6
7
|
}
|
|
7
8
|
export declare class StandardLogger implements IStandardLogger {
|
|
8
9
|
private readonly logger;
|
|
9
10
|
private readonly tracer;
|
|
10
|
-
private readonly
|
|
11
|
+
private readonly defaultAttributes;
|
|
11
12
|
private readonly spanContext;
|
|
12
13
|
private readonly defaultServiceName;
|
|
13
14
|
private readonly environment;
|
|
14
|
-
constructor(logger: Logger, tracer: IStandardTracer);
|
|
15
|
+
constructor(logger: Logger, tracer: IStandardTracer, scopeAttributes?: Attributes);
|
|
15
16
|
logError(data: LogParams): Promise<void>;
|
|
16
17
|
logInfo(data: LogParams): Promise<void>;
|
|
17
18
|
logWarn(data: LogParams): Promise<void>;
|
package/dist/core/logger.js
CHANGED
|
@@ -12,17 +12,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.StandardLogger = void 0;
|
|
13
13
|
const api_logs_1 = require("@opentelemetry/api-logs");
|
|
14
14
|
class StandardLogger {
|
|
15
|
-
constructor(logger, tracer) {
|
|
16
|
-
this.
|
|
15
|
+
constructor(logger, tracer, scopeAttributes) {
|
|
16
|
+
this.defaultAttributes = {};
|
|
17
17
|
this.logger = logger;
|
|
18
18
|
this.tracer = tracer;
|
|
19
19
|
this.spanContext = this.tracer.getTracer().startSpan('init-logger');
|
|
20
20
|
this.defaultServiceName = process.env.SERVICE_NAME
|
|
21
21
|
? process.env.SERVICE_NAME
|
|
22
22
|
: 'unknown-service';
|
|
23
|
-
this.
|
|
23
|
+
this.defaultAttributes = {
|
|
24
24
|
'trace.id': this.spanContext.spanContext().traceId,
|
|
25
25
|
'span.id': this.spanContext.spanContext().spanId,
|
|
26
|
+
'function.name': (scopeAttributes === null || scopeAttributes === void 0 ? void 0 : scopeAttributes['function.name']) || 'unknown-function',
|
|
27
|
+
'function.invocation_id': (scopeAttributes === null || scopeAttributes === void 0 ? void 0 : scopeAttributes['function.invocation_id']) || 'unknown-invocation-id',
|
|
26
28
|
};
|
|
27
29
|
let stage = process.env.STAGE || 'development';
|
|
28
30
|
if (stage === 'prod')
|
|
@@ -31,27 +33,27 @@ class StandardLogger {
|
|
|
31
33
|
}
|
|
32
34
|
logError(data) {
|
|
33
35
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
yield this.log(Object.assign(Object.assign(Object.assign(
|
|
36
|
+
yield this.log(Object.assign(Object.assign(Object.assign({ serviceName: this.defaultServiceName, environment: this.environment }, data), this.defaultAttributes), { severity: 'ERROR' }));
|
|
35
37
|
});
|
|
36
38
|
}
|
|
37
39
|
logInfo(data) {
|
|
38
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
yield this.log(Object.assign(Object.assign(Object.assign(
|
|
41
|
+
yield this.log(Object.assign(Object.assign(Object.assign({ serviceName: this.defaultServiceName, environment: this.environment }, data), this.defaultAttributes), { severity: 'INFO' }));
|
|
40
42
|
});
|
|
41
43
|
}
|
|
42
44
|
logWarn(data) {
|
|
43
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
yield this.log(Object.assign(Object.assign(Object.assign(
|
|
46
|
+
yield this.log(Object.assign(Object.assign(Object.assign({ serviceName: this.defaultServiceName, environment: this.environment }, data), this.defaultAttributes), { severity: 'WARN' }));
|
|
45
47
|
});
|
|
46
48
|
}
|
|
47
49
|
logDebug(data) {
|
|
48
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
yield this.log(Object.assign(Object.assign(Object.assign(
|
|
51
|
+
yield this.log(Object.assign(Object.assign(Object.assign({ serviceName: this.defaultServiceName, environment: this.environment }, data), this.defaultAttributes), { severity: 'DEBUG' }));
|
|
50
52
|
});
|
|
51
53
|
}
|
|
52
54
|
log(data) {
|
|
53
55
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
const fullData = Object.assign(Object.assign(Object.assign({}, data), this.
|
|
56
|
+
const fullData = Object.assign(Object.assign(Object.assign({}, data), this.defaultAttributes), { serviceName: data.serviceName || this.defaultServiceName, timestamp: new Date().toISOString() });
|
|
55
57
|
const severityMap = {
|
|
56
58
|
ERROR: api_logs_1.SeverityNumber.ERROR,
|
|
57
59
|
WARN: api_logs_1.SeverityNumber.WARN,
|
|
@@ -129,8 +131,8 @@ class StandardLogger {
|
|
|
129
131
|
if (data.context) {
|
|
130
132
|
attributes['context'] = JSON.stringify(data.context);
|
|
131
133
|
}
|
|
132
|
-
return Object.fromEntries(Object.entries(attributes).filter(([, value]) => value !== undefined && value !== null));
|
|
134
|
+
return Object.fromEntries(Object.entries(Object.assign(Object.assign({}, attributes), this.defaultAttributes)).filter(([, value]) => value !== undefined && value !== null));
|
|
133
135
|
}
|
|
134
136
|
}
|
|
135
137
|
exports.StandardLogger = StandardLogger;
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFpRTtBQWVqRSxNQUFhLGNBQWM7SUFRekIsWUFBWSxNQUFjLEVBQUUsTUFBdUI7UUFMbEMscUJBQWdCLEdBQXdCLEVBQUUsQ0FBQztRQU0xRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVk7WUFDaEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWTtZQUMxQixDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFFdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHO1lBQ3RCLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU87WUFDbEQsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTTtTQUNqRCxDQUFDO1FBRUYsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksYUFBYSxDQUFDO1FBQy9DLElBQUksS0FBSyxLQUFLLE1BQU07WUFBRSxLQUFLLEdBQUcsWUFBWSxDQUFDO1FBRTNDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFSyxRQUFRLENBQUMsSUFBZTs7WUFDNUIsTUFBTSxJQUFJLENBQUMsR0FBRywyREFDWixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFDMUIsSUFBSSxLQUNQLFdBQVcsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEtBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsS0FDeEIsUUFBUSxFQUFFLE9BQU8sSUFDakIsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVLLE9BQU8sQ0FBQyxJQUFlOztZQUMzQixNQUFNLElBQUksQ0FBQyxHQUFHLDJEQUNaLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUMxQixJQUFJLEtBQ1AsV0FBVyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsS0FDakMsSUFBSSxDQUFDLGdCQUFnQixLQUN4QixRQUFRLEVBQUUsTUFBTSxJQUNoQixDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRUssT0FBTyxDQUFDLElBQWU7O1lBQzNCLE1BQU0sSUFBSSxDQUFDLEdBQUcsMkRBQ1osV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLElBQzFCLElBQUksS0FDUCxXQUFXLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixLQUNqQyxJQUFJLENBQUMsZ0JBQWdCLEtBQ3hCLFFBQVEsRUFBRSxNQUFNLElBQ2hCLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFSyxRQUFRLENBQUMsSUFBZTs7WUFDNUIsTUFBTSxJQUFJLENBQUMsR0FBRywyREFDWixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFDMUIsSUFBSSxLQUNQLFdBQVcsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEtBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsS0FDeEIsUUFBUSxFQUFFLE9BQU8sSUFDakIsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVhLEdBQUcsQ0FDZixJQUVDOztZQUVELE1BQU0sUUFBUSxpREFDVCxJQUFJLEdBQ0osSUFBSSxDQUFDLGdCQUFnQixLQUN4QixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFDbkMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGtCQUFrQixHQUN6RCxDQUFDO1lBRUYsTUFBTSxXQUFXLEdBQUc7Z0JBQ2xCLEtBQUssRUFBRSx5QkFBYyxDQUFDLEtBQUs7Z0JBQzNCLElBQUksRUFBRSx5QkFBYyxDQUFDLElBQUk7Z0JBQ3pCLElBQUksRUFBRSx5QkFBYyxDQUFDLElBQUk7Z0JBQ3pCLEtBQUssRUFBRSx5QkFBYyxDQUFDLEtBQUs7YUFDNUIsQ0FBQztZQUVGLE1BQU0sU0FBUyxHQUFHO2dCQUNoQixjQUFjLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQzlDLFlBQVksRUFBRSxRQUFRLENBQUMsUUFBUTtnQkFDL0IsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPO2dCQUN0QixVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7YUFDM0MsQ0FBQztZQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLENBQUM7S0FBQTtJQUVPLGVBQWUsQ0FBQyxJQUFxQjtRQUMzQyxNQUFNLFVBQVUsR0FBd0I7WUFDdEMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVztZQUNoQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsV0FBVztTQUNoRCxDQUFDO1FBR0YsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDM0MsVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ2pELFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDckQsQ0FBQztRQUdELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07Z0JBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ25FLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUMxRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFBRSxVQUFVLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDekUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7Z0JBQ3RCLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3hELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2dCQUNuQixVQUFVLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUNoQixVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2dCQUNsQixVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9ELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO2dCQUNqQixVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFHRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjO2dCQUMxQixVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUMzRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtnQkFDdEIsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ25ELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjO2dCQUMxQixVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM3RCxDQUFDO1FBR0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVM7Z0JBQzFCLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztZQUN0RCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWTtnQkFDN0IsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7WUFDN0QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVk7Z0JBQzdCLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztZQUM1RCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWTtnQkFDN0IsVUFBVSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7WUFDckUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVU7Z0JBQzNCLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO1lBQzVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0I7Z0JBQ2pDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7WUFDcEUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU07Z0JBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQzFFLENBQUM7UUFHRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVTtnQkFDN0IsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQzFELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEtBQUssU0FBUztnQkFDeEMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDL0QsQ0FBQztRQUdELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBR0QsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FDL0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksQ0FDckQsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBOUtELHdDQThLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNldmVyaXR5TnVtYmVyLCBMb2dnZXIgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGktbG9ncyc7XG5pbXBvcnQgeyBJU3RhbmRhcmRMb2dnZXIsIFN0YW5kYXJkTG9nRGF0YSB9IGZyb20gJy4vbG9nZ2VyLXR5cGVzJztcbmltcG9ydCB7IElTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4vdHJhY2VyLXR5cGVzJztcbmltcG9ydCB7IFNwYW4gfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xuXG5pbnRlcmZhY2UgTG9nUGFyYW1zIGV4dGVuZHMgT21pdDxcbiAgU3RhbmRhcmRMb2dEYXRhLFxuICAnc2V2ZXJpdHknIHwgJ3RpbWVzdGFtcCcgfCAnc2VydmljZU5hbWUnIHwgJ2Vudmlyb25tZW50J1xuPiB7XG4gIGVudmlyb25tZW50PzogU3RhbmRhcmRMb2dEYXRhWydlbnZpcm9ubWVudCddO1xufVxuLyoqXG4gKiBMb2dnZXIgY29yZSBxdWUgaW1wbGVtZW50YSBvIHBhZHLDo28gZGUgbG9ncyBlc3RydXR1cmFkb3MuXG4gKiBSZWNlYmUgdW0gTG9nZ2VyUHJvdmlkZXIgZG8gT3BlblRlbGVtZXRyeSBwYXJhIGVtaXRpciBvcyBsb2dzLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRMb2dnZXIgaW1wbGVtZW50cyBJU3RhbmRhcmRMb2dnZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTG9nZ2VyO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYWNlcjogSVN0YW5kYXJkVHJhY2VyO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBdHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgcHJpdmF0ZSByZWFkb25seSBzcGFuQ29udGV4dDogU3BhbjtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0U2VydmljZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBlbnZpcm9ubWVudDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGxvZ2dlcjogTG9nZ2VyLCB0cmFjZXI6IElTdGFuZGFyZFRyYWNlcikge1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyO1xuICAgIHRoaXMudHJhY2VyID0gdHJhY2VyO1xuICAgIHRoaXMuc3BhbkNvbnRleHQgPSB0aGlzLnRyYWNlci5nZXRUcmFjZXIoKS5zdGFydFNwYW4oJ2luaXQtbG9nZ2VyJyk7XG4gICAgdGhpcy5kZWZhdWx0U2VydmljZU5hbWUgPSBwcm9jZXNzLmVudi5TRVJWSUNFX05BTUVcbiAgICAgID8gcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FXG4gICAgICA6ICd1bmtub3duLXNlcnZpY2UnO1xuXG4gICAgdGhpcy5kZWZhdWx0QXRyaWJ1dGVzID0ge1xuICAgICAgJ3RyYWNlLmlkJzogdGhpcy5zcGFuQ29udGV4dC5zcGFuQ29udGV4dCgpLnRyYWNlSWQsXG4gICAgICAnc3Bhbi5pZCc6IHRoaXMuc3BhbkNvbnRleHQuc3BhbkNvbnRleHQoKS5zcGFuSWQsXG4gICAgfTtcblxuICAgIGxldCBzdGFnZSA9IHByb2Nlc3MuZW52LlNUQUdFIHx8ICdkZXZlbG9wbWVudCc7XG4gICAgaWYgKHN0YWdlID09PSAncHJvZCcpIHN0YWdlID0gJ3Byb2R1Y3Rpb24nO1xuXG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IHN0YWdlO1xuICB9XG5cbiAgYXN5bmMgbG9nRXJyb3IoZGF0YTogTG9nUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sb2coe1xuICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuZW52aXJvbm1lbnQsXG4gICAgICAuLi5kYXRhLFxuICAgICAgc2VydmljZU5hbWU6IHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lLFxuICAgICAgLi4udGhpcy5kZWZhdWx0QXRyaWJ1dGVzLFxuICAgICAgc2V2ZXJpdHk6ICdFUlJPUicsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsb2dJbmZvKGRhdGE6IExvZ1BhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubG9nKHtcbiAgICAgIGVudmlyb25tZW50OiB0aGlzLmVudmlyb25tZW50LFxuICAgICAgLi4uZGF0YSxcbiAgICAgIHNlcnZpY2VOYW1lOiB0aGlzLmRlZmF1bHRTZXJ2aWNlTmFtZSxcbiAgICAgIC4uLnRoaXMuZGVmYXVsdEF0cmlidXRlcyxcbiAgICAgIHNldmVyaXR5OiAnSU5GTycsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsb2dXYXJuKGRhdGE6IExvZ1BhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubG9nKHtcbiAgICAgIGVudmlyb25tZW50OiB0aGlzLmVudmlyb25tZW50LFxuICAgICAgLi4uZGF0YSxcbiAgICAgIHNlcnZpY2VOYW1lOiB0aGlzLmRlZmF1bHRTZXJ2aWNlTmFtZSxcbiAgICAgIC4uLnRoaXMuZGVmYXVsdEF0cmlidXRlcyxcbiAgICAgIHNldmVyaXR5OiAnV0FSTicsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsb2dEZWJ1ZyhkYXRhOiBMb2dQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxvZyh7XG4gICAgICBlbnZpcm9ubWVudDogdGhpcy5lbnZpcm9ubWVudCxcbiAgICAgIC4uLmRhdGEsXG4gICAgICBzZXJ2aWNlTmFtZTogdGhpcy5kZWZhdWx0U2VydmljZU5hbWUsXG4gICAgICAuLi50aGlzLmRlZmF1bHRBdHJpYnV0ZXMsXG4gICAgICBzZXZlcml0eTogJ0RFQlVHJyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9nKFxuICAgIGRhdGE6IE9taXQ8U3RhbmRhcmRMb2dEYXRhLCAndGltZXN0YW1wJz4gJiB7XG4gICAgICBzZXZlcml0eTogU3RhbmRhcmRMb2dEYXRhWydzZXZlcml0eSddO1xuICAgIH1cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZnVsbERhdGE6IFN0YW5kYXJkTG9nRGF0YSA9IHtcbiAgICAgIC4uLmRhdGEsXG4gICAgICAuLi50aGlzLmRlZmF1bHRBdHJpYnV0ZXMsXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgIHNlcnZpY2VOYW1lOiBkYXRhLnNlcnZpY2VOYW1lIHx8IHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lLFxuICAgIH07XG5cbiAgICBjb25zdCBzZXZlcml0eU1hcCA9IHtcbiAgICAgIEVSUk9SOiBTZXZlcml0eU51bWJlci5FUlJPUixcbiAgICAgIFdBUk46IFNldmVyaXR5TnVtYmVyLldBUk4sXG4gICAgICBJTkZPOiBTZXZlcml0eU51bWJlci5JTkZPLFxuICAgICAgREVCVUc6IFNldmVyaXR5TnVtYmVyLkRFQlVHLFxuICAgIH07XG5cbiAgICBjb25zdCBsb2dSZWNvcmQgPSB7XG4gICAgICBzZXZlcml0eU51bWJlcjogc2V2ZXJpdHlNYXBbZnVsbERhdGEuc2V2ZXJpdHldLFxuICAgICAgc2V2ZXJpdHlUZXh0OiBmdWxsRGF0YS5zZXZlcml0eSxcbiAgICAgIGJvZHk6IGZ1bGxEYXRhLm1lc3NhZ2UsXG4gICAgICBhdHRyaWJ1dGVzOiB0aGlzLmJ1aWxkQXR0cmlidXRlcyhmdWxsRGF0YSksXG4gICAgfTtcblxuICAgIHRoaXMubG9nZ2VyLmVtaXQobG9nUmVjb3JkKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRBdHRyaWJ1dGVzKGRhdGE6IFN0YW5kYXJkTG9nRGF0YSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIGNvbnN0IGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XG4gICAgICB0aW1lc3RhbXA6IGRhdGEudGltZXN0YW1wLFxuICAgICAgJ3NlcnZpY2UubmFtZSc6IGRhdGEuc2VydmljZU5hbWUsXG4gICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJzogZGF0YS5lbnZpcm9ubWVudCxcbiAgICB9O1xuXG4gICAgLy8gSW5mb3JtYcOnw7VlcyBkbyBlcnJvXG4gICAgaWYgKGRhdGEuZXJyb3IpIHtcbiAgICAgIGF0dHJpYnV0ZXNbJ2Vycm9yLnR5cGUnXSA9IGRhdGEuZXJyb3IubmFtZTtcbiAgICAgIGF0dHJpYnV0ZXNbJ2Vycm9yLm1lc3NhZ2UnXSA9IGRhdGEuZXJyb3IubWVzc2FnZTtcbiAgICAgIGF0dHJpYnV0ZXNbJ2Vycm9yLnN0YWNrJ10gPSBkYXRhLmVycm9yLnN0YWNrIHx8ICcnO1xuICAgIH1cblxuICAgIC8vIEhUVFBcbiAgICBpZiAoZGF0YS5odHRwKSB7XG4gICAgICBpZiAoZGF0YS5odHRwLm1ldGhvZCkgYXR0cmlidXRlc1snaHR0cC5tZXRob2QnXSA9IGRhdGEuaHR0cC5tZXRob2Q7XG4gICAgICBpZiAoZGF0YS5odHRwLnVybCkgYXR0cmlidXRlc1snaHR0cC51cmwnXSA9IGRhdGEuaHR0cC51cmw7XG4gICAgICBpZiAoZGF0YS5odHRwLmVuZHBvaW50KSBhdHRyaWJ1dGVzWydodHRwLmVuZHBvaW50J10gPSBkYXRhLmh0dHAuZW5kcG9pbnQ7XG4gICAgICBpZiAoZGF0YS5odHRwLnN0YXR1c0NvZGUpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2h0dHAuc3RhdHVzX2NvZGUnXSA9IGRhdGEuaHR0cC5zdGF0dXNDb2RlO1xuICAgICAgaWYgKGRhdGEuaHR0cC5oZWFkZXJzKVxuICAgICAgICBhdHRyaWJ1dGVzWydodHRwLmhlYWRlcnMnXSA9IEpTT04uc3RyaW5naWZ5KGRhdGEuaHR0cC5oZWFkZXJzKTtcbiAgICAgIGlmIChkYXRhLmh0dHAuYm9keSlcbiAgICAgICAgYXR0cmlidXRlc1snaHR0cC5ib2R5J10gPSBKU09OLnN0cmluZ2lmeShkYXRhLmh0dHAuYm9keSk7XG4gICAgICBpZiAoZGF0YS5odHRwLnBhcmFtcylcbiAgICAgICAgYXR0cmlidXRlc1snaHR0cC5wYXJhbXMnXSA9IEpTT04uc3RyaW5naWZ5KGRhdGEuaHR0cC5wYXJhbXMpO1xuICAgICAgaWYgKGRhdGEuaHR0cC5xdWVyeSlcbiAgICAgICAgYXR0cmlidXRlc1snaHR0cC5xdWVyeSddID0gSlNPTi5zdHJpbmdpZnkoZGF0YS5odHRwLnF1ZXJ5KTtcbiAgICB9XG5cbiAgICAvLyBVc3XDoXJpb1xuICAgIGlmIChkYXRhLnVzZXIpIHtcbiAgICAgIGlmIChkYXRhLnVzZXIuYWNjb3VudFVzZXJVaWQpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2FjY291bnRVc2VyLnVpZCddID0gZGF0YS51c2VyLmFjY291bnRVc2VyVWlkO1xuICAgICAgaWYgKGRhdGEudXNlci5hY2NvdW50VWlkKVxuICAgICAgICBhdHRyaWJ1dGVzWydhY2NvdW50LnVpZCddID0gZGF0YS51c2VyLmFjY291bnRVaWQ7XG4gICAgICBpZiAoZGF0YS51c2VyLmFwcGxpY2F0aW9uVWlkKVxuICAgICAgICBhdHRyaWJ1dGVzWydhcHBsaWNhdGlvbi51aWQnXSA9IGRhdGEudXNlci5hcHBsaWNhdGlvblVpZDtcbiAgICB9XG5cbiAgICAvLyBFeGVjdcOnw6NvXG4gICAgaWYgKGRhdGEuZXhlY3V0aW9uKSB7XG4gICAgICBpZiAoZGF0YS5leGVjdXRpb24ucmVxdWVzdElkKVxuICAgICAgICBhdHRyaWJ1dGVzWydyZXF1ZXN0LmlkJ10gPSBkYXRhLmV4ZWN1dGlvbi5yZXF1ZXN0SWQ7XG4gICAgICBpZiAoZGF0YS5leGVjdXRpb24uYXdzUmVxdWVzdElkKVxuICAgICAgICBhdHRyaWJ1dGVzWydhd3MucmVxdWVzdC5pZCddID0gZGF0YS5leGVjdXRpb24uYXdzUmVxdWVzdElkO1xuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLmZ1bmN0aW9uTmFtZSlcbiAgICAgICAgYXR0cmlidXRlc1snZnVuY3Rpb24ubmFtZSddID0gZGF0YS5leGVjdXRpb24uZnVuY3Rpb25OYW1lO1xuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLmludm9jYXRpb25JZClcbiAgICAgICAgYXR0cmlidXRlc1snZnVuY3Rpb24uaW52b2NhdGlvbl9pZCddID0gZGF0YS5leGVjdXRpb24uaW52b2NhdGlvbklkO1xuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLmNvbnRyb2xsZXIpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2NvbnRyb2xsZXIubmFtZSddID0gZGF0YS5leGVjdXRpb24uY29udHJvbGxlcjtcbiAgICAgIGlmIChkYXRhLmV4ZWN1dGlvbi5jb250cm9sbGVyTWV0aG9kKVxuICAgICAgICBhdHRyaWJ1dGVzWydjb250cm9sbGVyLm1ldGhvZCddID0gZGF0YS5leGVjdXRpb24uY29udHJvbGxlck1ldGhvZDtcbiAgICAgIGlmIChkYXRhLmV4ZWN1dGlvbi5vcmlnaW4pIGF0dHJpYnV0ZXNbJ29yaWdpbiddID0gZGF0YS5leGVjdXRpb24ub3JpZ2luO1xuICAgIH1cblxuICAgIC8vIFBlcmZvcm1hbmNlXG4gICAgaWYgKGRhdGEucGVyZm9ybWFuY2UpIHtcbiAgICAgIGlmIChkYXRhLnBlcmZvcm1hbmNlLmR1cmF0aW9uTXMpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2R1cmF0aW9uLm1zJ10gPSBkYXRhLnBlcmZvcm1hbmNlLmR1cmF0aW9uTXM7XG4gICAgICBpZiAoZGF0YS5wZXJmb3JtYW5jZS5zdWNjZXNzICE9PSB1bmRlZmluZWQpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2V4ZWN1dGlvbi5zdWNjZXNzJ10gPSBkYXRhLnBlcmZvcm1hbmNlLnN1Y2Nlc3M7XG4gICAgfVxuXG4gICAgLy8gQ29udGV4dG8gYWRpY2lvbmFsXG4gICAgaWYgKGRhdGEuY29udGV4dCkge1xuICAgICAgYXR0cmlidXRlc1snY29udGV4dCddID0gSlNPTi5zdHJpbmdpZnkoZGF0YS5jb250ZXh0KTtcbiAgICB9XG5cbiAgICAvLyBGaWx0cmFyIHZhbG9yZXMgdW5kZWZpbmVkL251bGxcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMoYXR0cmlidXRlcykuZmlsdGVyKFxuICAgICAgICAoWywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFpRTtBQWVqRSxNQUFhLGNBQWM7SUFRekIsWUFDRSxNQUFjLEVBQ2QsTUFBdUIsRUFDdkIsZUFBNEI7UUFSYixzQkFBaUIsR0FBd0IsRUFBRSxDQUFDO1FBVTNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWTtZQUNoRCxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZO1lBQzFCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUV0QixJQUFJLENBQUMsaUJBQWlCLEdBQUc7WUFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTztZQUNsRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNO1lBQ2hELGVBQWUsRUFBRSxDQUFBLGVBQWUsYUFBZixlQUFlLHVCQUFmLGVBQWUsQ0FBRyxlQUFlLENBQUMsS0FBSSxrQkFBa0I7WUFDekUsd0JBQXdCLEVBQ3RCLENBQUEsZUFBZSxhQUFmLGVBQWUsdUJBQWYsZUFBZSxDQUFHLHdCQUF3QixDQUFDLEtBQUksdUJBQXVCO1NBQ3pFLENBQUM7UUFFRixJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxhQUFhLENBQUM7UUFDL0MsSUFBSSxLQUFLLEtBQUssTUFBTTtZQUFFLEtBQUssR0FB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QUFVLENBQUM7WUFDNUQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQjtnQkFDakMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNwRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTtnQkFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDMUUsQ0FBQztRQUdELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO2dCQUM3QixVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7WUFDMUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sS0FBSyxTQUFTO2dCQUN4QyxVQUFVLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztRQUMvRCxDQUFDO1FBR0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFHRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQU0sQ0FBQyxPQUFPLGlDQUFNLFVBQVUsR0FBSyxJQUFJLENBQUMsaUJBQWlCLEVBQUcsQ0FBQyxNQUFNLENBQ2pFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQ3JELENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXJMRCx3Q0FxTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXZlcml0eU51bWJlciwgTG9nZ2VyIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpLWxvZ3MnO1xuaW1wb3J0IHsgSVN0YW5kYXJkTG9nZ2VyLCBTdGFuZGFyZExvZ0RhdGEgfSBmcm9tICcuL2xvZ2dlci10eXBlcyc7XG5pbXBvcnQgeyBJU3RhbmRhcmRUcmFjZXIgfSBmcm9tICcuL3RyYWNlci10eXBlcyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVzLCBTcGFuIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpJztcblxuaW50ZXJmYWNlIExvZ1BhcmFtcyBleHRlbmRzIE9taXQ8XG4gIFN0YW5kYXJkTG9nRGF0YSxcbiAgJ3NldmVyaXR5JyB8ICd0aW1lc3RhbXAnIHwgJ3NlcnZpY2VOYW1lJyB8ICdlbnZpcm9ubWVudCdcbj4ge1xuICBlbnZpcm9ubWVudD86IFN0YW5kYXJkTG9nRGF0YVsnZW52aXJvbm1lbnQnXTtcbn1cbi8qKlxuICogTG9nZ2VyIGNvcmUgcXVlIGltcGxlbWVudGEgbyBwYWRyw6NvIGRlIGxvZ3MgZXN0cnV0dXJhZG9zLlxuICogUmVjZWJlIHVtIExvZ2dlclByb3ZpZGVyIGRvIE9wZW5UZWxlbWV0cnkgcGFyYSBlbWl0aXIgb3MgbG9ncy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkTG9nZ2VyIGltcGxlbWVudHMgSVN0YW5kYXJkTG9nZ2VyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFjZXI6IElTdGFuZGFyZFRyYWNlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICBwcml2YXRlIHJlYWRvbmx5IHNwYW5Db250ZXh0OiBTcGFuO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTZXJ2aWNlTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGVudmlyb25tZW50OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbG9nZ2VyOiBMb2dnZXIsXG4gICAgdHJhY2VyOiBJU3RhbmRhcmRUcmFjZXIsXG4gICAgc2NvcGVBdHRyaWJ1dGVzPzogQXR0cmlidXRlc1xuICApIHtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlcjtcbiAgICB0aGlzLnRyYWNlciA9IHRyYWNlcjtcbiAgICB0aGlzLnNwYW5Db250ZXh0ID0gdGhpcy50cmFjZXIuZ2V0VHJhY2VyKCkuc3RhcnRTcGFuKCdpbml0LWxvZ2dlcicpO1xuICAgIHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lID0gcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FXG4gICAgICA/IHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRVxuICAgICAgOiAndW5rbm93bi1zZXJ2aWNlJztcblxuICAgIHRoaXMuZGVmYXVsdEF0dHJpYnV0ZXMgPSB7XG4gICAgICAndHJhY2UuaWQnOiB0aGlzLnNwYW5Db250ZXh0LnNwYW5Db250ZXh0KCkudHJhY2VJZCxcbiAgICAgICdzcGFuLmlkJzogdGhpcy5zcGFuQ29udGV4dC5zcGFuQ29udGV4dCgpLnNwYW5JZCxcbiAgICAgICdmdW5jdGlvbi5uYW1lJzogc2NvcGVBdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uLm5hbWUnXSB8fCAndW5rbm93bi1mdW5jdGlvbicsXG4gICAgICAnZnVuY3Rpb24uaW52b2NhdGlvbl9pZCc6XG4gICAgICAgIHNjb3BlQXR0cmlidXRlcz8uWydmdW5jdGlvbi5pbnZvY2F0aW9uX2lkJ10gfHwgJ3Vua25vd24taW52b2NhdGlvbi1pZCcsXG4gICAgfTtcblxuICAgIGxldCBzdGFnZSA9IHByb2Nlc3MuZW52LlNUQUdFIHx8ICdkZXZlbG9wbWVudCc7XG4gICAgaWYgKHN0YWdlID09PSAncHJvZCcpIHN0YWdlID0gJ3Byb2R1Y3Rpb24nO1xuXG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IHN0YWdlO1xuICB9XG5cbiAgYXN5bmMgbG9nRXJyb3IoZGF0YTogTG9nUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sb2coe1xuICAgICAgc2VydmljZU5hbWU6IHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lLFxuICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuZW52aXJvbm1lbnQsXG4gICAgICAuLi5kYXRhLFxuICAgICAgLi4udGhpcy5kZWZhdWx0QXR0cmlidXRlcyxcbiAgICAgIHNldmVyaXR5OiAnRVJST1InLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbG9nSW5mbyhkYXRhOiBMb2dQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxvZyh7XG4gICAgICBzZXJ2aWNlTmFtZTogdGhpcy5kZWZhdWx0U2VydmljZU5hbWUsXG4gICAgICBlbnZpcm9ubWVudDogdGhpcy5lbnZpcm9ubWVudCxcbiAgICAgIC4uLmRhdGEsXG4gICAgICAuLi50aGlzLmRlZmF1bHRBdHRyaWJ1dGVzLFxuICAgICAgc2V2ZXJpdHk6ICdJTkZPJyxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGxvZ1dhcm4oZGF0YTogTG9nUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sb2coe1xuICAgICAgc2VydmljZU5hbWU6IHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lLFxuICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuZW52aXJvbm1lbnQsXG4gICAgICAuLi5kYXRhLFxuICAgICAgLi4udGhpcy5kZWZhdWx0QXR0cmlidXRlcyxcbiAgICAgIHNldmVyaXR5OiAnV0FSTicsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsb2dEZWJ1ZyhkYXRhOiBMb2dQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxvZyh7XG4gICAgICBzZXJ2aWNlTmFtZTogdGhpcy5kZWZhdWx0U2VydmljZU5hbWUsXG4gICAgICBlbnZpcm9ubWVudDogdGhpcy5lbnZpcm9ubWVudCxcbiAgICAgIC4uLmRhdGEsXG4gICAgICAuLi50aGlzLmRlZmF1bHRBdHRyaWJ1dGVzLFxuICAgICAgc2V2ZXJpdHk6ICdERUJVRycsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvZyhcbiAgICBkYXRhOiBPbWl0PFN0YW5kYXJkTG9nRGF0YSwgJ3RpbWVzdGFtcCc+ICYge1xuICAgICAgc2V2ZXJpdHk6IFN0YW5kYXJkTG9nRGF0YVsnc2V2ZXJpdHknXTtcbiAgICB9XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZ1bGxEYXRhOiBTdGFuZGFyZExvZ0RhdGEgPSB7XG4gICAgICAuLi5kYXRhLFxuICAgICAgLi4udGhpcy5kZWZhdWx0QXR0cmlidXRlcyxcbiAgICAgIHNlcnZpY2VOYW1lOiBkYXRhLnNlcnZpY2VOYW1lIHx8IHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgfTtcblxuICAgIGNvbnN0IHNldmVyaXR5TWFwID0ge1xuICAgICAgRVJST1I6IFNldmVyaXR5TnVtYmVyLkVSUk9SLFxuICAgICAgV0FSTjogU2V2ZXJpdHlOdW1iZXIuV0FSTixcbiAgICAgIElORk86IFNldmVyaXR5TnVtYmVyLklORk8sXG4gICAgICBERUJVRzogU2V2ZXJpdHlOdW1iZXIuREVCVUcsXG4gICAgfTtcblxuICAgIGNvbnN0IGxvZ1JlY29yZCA9IHtcbiAgICAgIHNldmVyaXR5TnVtYmVyOiBzZXZlcml0eU1hcFtmdWxsRGF0YS5zZXZlcml0eV0sXG4gICAgICBzZXZlcml0eVRleHQ6IGZ1bGxEYXRhLnNldmVyaXR5LFxuICAgICAgYm9keTogZnVsbERhdGEubWVzc2FnZSxcbiAgICAgIGF0dHJpYnV0ZXM6IHRoaXMuYnVpbGRBdHRyaWJ1dGVzKGZ1bGxEYXRhKSxcbiAgICB9O1xuXG4gICAgdGhpcy5sb2dnZXIuZW1pdChsb2dSZWNvcmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEF0dHJpYnV0ZXMoZGF0YTogU3RhbmRhcmRMb2dEYXRhKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcbiAgICAgIHRpbWVzdGFtcDogZGF0YS50aW1lc3RhbXAsXG4gICAgICAnc2VydmljZS5uYW1lJzogZGF0YS5zZXJ2aWNlTmFtZSxcbiAgICAgICdkZXBsb3ltZW50LmVudmlyb25tZW50Lm5hbWUnOiBkYXRhLmVudmlyb25tZW50LFxuICAgIH07XG5cbiAgICAvLyBJbmZvcm1hw6fDtWVzIGRvIGVycm9cbiAgICBpZiAoZGF0YS5lcnJvcikge1xuICAgICAgYXR0cmlidXRlc1snZXJyb3IudHlwZSddID0gZGF0YS5lcnJvci5uYW1lO1xuICAgICAgYXR0cmlidXRlc1snZXJyb3IubWVzc2FnZSddID0gZGF0YS5lcnJvci5tZXNzYWdlO1xuICAgICAgYXR0cmlidXRlc1snZXJyb3Iuc3RhY2snXSA9IGRhdGEuZXJyb3Iuc3RhY2sgfHwgJyc7XG4gICAgfVxuXG4gICAgLy8gSFRUUFxuICAgIGlmIChkYXRhLmh0dHApIHtcbiAgICAgIGlmIChkYXRhLmh0dHAubWV0aG9kKSBhdHRyaWJ1dGVzWydodHRwLm1ldGhvZCddID0gZGF0YS5odHRwLm1ldGhvZDtcbiAgICAgIGlmIChkYXRhLmh0dHAudXJsKSBhdHRyaWJ1dGVzWydodHRwLnVybCddID0gZGF0YS5odHRwLnVybDtcbiAgICAgIGlmIChkYXRhLmh0dHAuZW5kcG9pbnQpIGF0dHJpYnV0ZXNbJ2h0dHAuZW5kcG9pbnQnXSA9IGRhdGEuaHR0cC5lbmRwb2ludDtcbiAgICAgIGlmIChkYXRhLmh0dHAuc3RhdHVzQ29kZSlcbiAgICAgICAgYXR0cmlidXRlc1snaHR0cC5zdGF0dXNfY29kZSddID0gZGF0YS5odHRwLnN0YXR1c0NvZGU7XG4gICAgICBpZiAoZGF0YS5odHRwLmhlYWRlcnMpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2h0dHAuaGVhZGVycyddID0gSlNPTi5zdHJpbmdpZnkoZGF0YS5odHRwLmhlYWRlcnMpO1xuICAgICAgaWYgKGRhdGEuaHR0cC5ib2R5KVxuICAgICAgICBhdHRyaWJ1dGVzWydodHRwLmJvZHknXSA9IEpTT04uc3RyaW5naWZ5KGRhdGEuaHR0cC5ib2R5KTtcbiAgICAgIGlmIChkYXRhLmh0dHAucGFyYW1zKVxuICAgICAgICBhdHRyaWJ1dGVzWydodHRwLnBhcmFtcyddID0gSlNPTi5zdHJpbmdpZnkoZGF0YS5odHRwLnBhcmFtcyk7XG4gICAgICBpZiAoZGF0YS5odHRwLnF1ZXJ5KVxuICAgICAgICBhdHRyaWJ1dGVzWydodHRwLnF1ZXJ5J10gPSBKU09OLnN0cmluZ2lmeShkYXRhLmh0dHAucXVlcnkpO1xuICAgIH1cblxuICAgIC8vIFVzdcOhcmlvXG4gICAgaWYgKGRhdGEudXNlcikge1xuICAgICAgaWYgKGRhdGEudXNlci5hY2NvdW50VXNlclVpZClcbiAgICAgICAgYXR0cmlidXRlc1snYWNjb3VudFVzZXIudWlkJ10gPSBkYXRhLnVzZXIuYWNjb3VudFVzZXJVaWQ7XG4gICAgICBpZiAoZGF0YS51c2VyLmFjY291bnRVaWQpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2FjY291bnQudWlkJ10gPSBkYXRhLnVzZXIuYWNjb3VudFVpZDtcbiAgICAgIGlmIChkYXRhLnVzZXIuYXBwbGljYXRpb25VaWQpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2FwcGxpY2F0aW9uLnVpZCddID0gZGF0YS51c2VyLmFwcGxpY2F0aW9uVWlkO1xuICAgIH1cblxuICAgIC8vIEV4ZWN1w6fDo29cbiAgICBpZiAoZGF0YS5leGVjdXRpb24pIHtcbiAgICAgIGlmIChkYXRhLmV4ZWN1dGlvbi5yZXF1ZXN0SWQpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ3JlcXVlc3QuaWQnXSA9IGRhdGEuZXhlY3V0aW9uLnJlcXVlc3RJZDtcbiAgICAgIGlmIChkYXRhLmV4ZWN1dGlvbi5hd3NSZXF1ZXN0SWQpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2F3cy5yZXF1ZXN0LmlkJ10gPSBkYXRhLmV4ZWN1dGlvbi5hd3NSZXF1ZXN0SWQ7XG4gICAgICBpZiAoZGF0YS5leGVjdXRpb24uZnVuY3Rpb25OYW1lKVxuICAgICAgICBhdHRyaWJ1dGVzWydmdW5jdGlvbi5uYW1lJ10gPSBkYXRhLmV4ZWN1dGlvbi5mdW5jdGlvbk5hbWU7XG4gICAgICBpZiAoZGF0YS5leGVjdXRpb24uaW52b2NhdGlvbklkKVxuICAgICAgICBhdHRyaWJ1dGVzWydmdW5jdGlvbi5pbnZvY2F0aW9uX2lkJ10gPSBkYXRhLmV4ZWN1dGlvbi5pbnZvY2F0aW9uSWQ7XG4gICAgICBpZiAoZGF0YS5leGVjdXRpb24uY29udHJvbGxlcilcbiAgICAgICAgYXR0cmlidXRlc1snY29udHJvbGxlci5uYW1lJ10gPSBkYXRhLmV4ZWN1dGlvbi5jb250cm9sbGVyO1xuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLmNvbnRyb2xsZXJNZXRob2QpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2NvbnRyb2xsZXIubWV0aG9kJ10gPSBkYXRhLmV4ZWN1dGlvbi5jb250cm9sbGVyTWV0aG9kO1xuICAgICAgaWYgKGRhdGEuZXhlY3V0aW9uLm9yaWdpbikgYXR0cmlidXRlc1snb3JpZ2luJ10gPSBkYXRhLmV4ZWN1dGlvbi5vcmlnaW47XG4gICAgfVxuXG4gICAgLy8gUGVyZm9ybWFuY2VcbiAgICBpZiAoZGF0YS5wZXJmb3JtYW5jZSkge1xuICAgICAgaWYgKGRhdGEucGVyZm9ybWFuY2UuZHVyYXRpb25NcylcbiAgICAgICAgYXR0cmlidXRlc1snZHVyYXRpb24ubXMnXSA9IGRhdGEucGVyZm9ybWFuY2UuZHVyYXRpb25NcztcbiAgICAgIGlmIChkYXRhLnBlcmZvcm1hbmNlLnN1Y2Nlc3MgIT09IHVuZGVmaW5lZClcbiAgICAgICAgYXR0cmlidXRlc1snZXhlY3V0aW9uLnN1Y2Nlc3MnXSA9IGRhdGEucGVyZm9ybWFuY2Uuc3VjY2VzcztcbiAgICB9XG5cbiAgICAvLyBDb250ZXh0byBhZGljaW9uYWxcbiAgICBpZiAoZGF0YS5jb250ZXh0KSB7XG4gICAgICBhdHRyaWJ1dGVzWydjb250ZXh0J10gPSBKU09OLnN0cmluZ2lmeShkYXRhLmNvbnRleHQpO1xuICAgIH1cblxuICAgIC8vIEZpbHRyYXIgdmFsb3JlcyB1bmRlZmluZWQvbnVsbFxuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyh7IC4uLmF0dHJpYnV0ZXMsIC4uLnRoaXMuZGVmYXVsdEF0dHJpYnV0ZXMgfSkuZmlsdGVyKFxuICAgICAgICAoWywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -92,7 +92,7 @@ const middyTelemetryMiddleware = (options) => ({
|
|
|
92
92
|
'service.name': serviceName,
|
|
93
93
|
'deployment.environment.name': environment,
|
|
94
94
|
});
|
|
95
|
-
const standardLogger = (0, telemetry_1.getStandardLogger)(spanResult);
|
|
95
|
+
const standardLogger = (0, telemetry_1.getStandardLogger)(spanResult.span.attributes);
|
|
96
96
|
yield standardLogger.logInfo({
|
|
97
97
|
message: 'Request completed successfully',
|
|
98
98
|
environment,
|
|
@@ -139,7 +139,7 @@ const middyTelemetryMiddleware = (options) => ({
|
|
|
139
139
|
'service.name': serviceName,
|
|
140
140
|
'deployment.environment.name': environment,
|
|
141
141
|
});
|
|
142
|
-
const standardLogger = (0, telemetry_1.getStandardLogger)(spanResult);
|
|
142
|
+
const standardLogger = (0, telemetry_1.getStandardLogger)(spanResult.span.attributes);
|
|
143
143
|
yield standardLogger.logError({
|
|
144
144
|
message: (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error occurred',
|
|
145
145
|
error: error || undefined,
|
|
@@ -167,4 +167,4 @@ const middyTelemetryMiddleware = (options) => ({
|
|
|
167
167
|
}),
|
|
168
168
|
});
|
|
169
169
|
exports.middyTelemetryMiddleware = middyTelemetryMiddleware;
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zc3QvbWlkZHkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSw0Q0FBd0Q7QUFDeEQsNENBQWdGO0FBQ2hGLDJDQUF5QztBQUlsQyxNQUFNLHdCQUF3QixHQUFHLENBQ3RDLE9BQWdDLEVBQ1gsRUFBRSxDQUFDLENBQUM7SUFDekIsTUFBTSxFQUFFLENBQU8sT0FBTyxFQUFFLEVBQUU7UUFDeEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxTQUFTLEdBQUcsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUVwQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUMzQyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ2hELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDaEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksYUFBYSxDQUFDO1lBQzlELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFZLENBQUM7WUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxxQkFBcUIsS0FBSSxFQUFFLENBQUM7WUFDakUsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztZQUN6RCxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxhQUFhLENBQUM7WUFDL0MsSUFBSSxLQUFLLEtBQUssTUFBTTtnQkFBRSxLQUFLLEdBQUcsWUFBWSxDQUFDO1lBRzNDLE1BQU0sY0FBYyxHQUFHLElBQUEsNkJBQWlCLEdBQUUsQ0FBQztZQUMzQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO2dCQUMxQyxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsV0FBVztnQkFDWCxXQUFXLEVBQUUsS0FBSztnQkFDbEIsU0FBUyxFQUFFO29CQUNULFlBQVk7b0JBQ1osWUFBWTtvQkFDWixZQUFZLEVBQUUsWUFBWTtvQkFDMUIsTUFBTTtpQkFDUDthQUNGLENBQUMsQ0FBQztZQUVILE1BQU0sS0FBSyxHQUFHLGFBQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFdkMsTUFBTSxzQkFBc0IsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUNsRCwyQkFBMkIsRUFDM0I7Z0JBQ0UsV0FBVyxFQUFFLHlDQUF5QztnQkFDdEQsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsU0FBUyxFQUFFLGVBQVMsQ0FBQyxNQUFNO2FBQzVCLENBQ0YsQ0FBQztZQUNGLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsNEJBQTRCLEVBQUU7Z0JBQ3ZFLFdBQVcsRUFBRSxnQ0FBZ0M7YUFDOUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRTtnQkFDbkUsV0FBVyxFQUFFLDRCQUE0QjthQUMxQyxDQUFDLENBQUM7WUFFRixPQUFPLENBQUMsT0FBZSxDQUFDLElBQUksR0FBRztnQkFDOUIsVUFBVTtnQkFDVixLQUFLO2dCQUNMLHNCQUFzQjtnQkFDdEIsY0FBYztnQkFDZCxjQUFjO2dCQUNkLFNBQVM7Z0JBQ1QsV0FBVztnQkFDWCxXQUFXLEVBQUUsS0FBSztnQkFDbEIsTUFBTTthQUNQLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0RBQWdELEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUMsQ0FBQTtJQUVELEtBQUssRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFOztRQUN2QixJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBSSxPQUFPLENBQUMsT0FBZSxDQUFDLElBQUksQ0FBQztZQUMvQyxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQ3RCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFZLENBQUM7WUFFbkMsTUFBTSxxQkFBcUIsR0FBRyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxxQkFBcUIsS0FBSSxFQUFFLENBQUM7WUFDakUsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztZQUV6RCxNQUFNLEVBQ0osVUFBVSxFQUNWLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsU0FBUyxFQUNULFdBQVcsRUFDWCxXQUFXLEdBQ1osR0FBRyxRQUFRLENBQUM7WUFHYixVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRzVCLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNwQixNQUFNO2dCQUNOLGVBQWUsRUFDYixDQUFBLE1BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLDBDQUFHLGVBQWUsQ0FBQyxLQUFJLFNBQVM7Z0JBQzVELGNBQWMsRUFBRSxXQUFXO2dCQUMzQiw2QkFBNkIsRUFBRSxXQUFXO2FBQzNDLENBQUMsQ0FBQztZQUVILE1BQU0sVUFBVSxHQUFHLHdCQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO1lBRWpELHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3hDLE1BQU07Z0JBQ04sTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGVBQWUsRUFDYixDQUFBLE1BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLDBDQUFHLGVBQWUsQ0FBQyxLQUFJLFNBQVM7Z0JBQzVELGNBQWMsRUFBRSxXQUFXO2dCQUMzQiw2QkFBNkIsRUFBRSxXQUFXO2FBQzNDLENBQUMsQ0FBQztZQUdILE1BQU0sY0FBYyxHQUFHLElBQUEsNkJBQWlCLEVBQUMsVUFBVSxDQUFDLENBQUM7WUFFckQsTUFBTSxjQUFjLENBQUMsT0FBTyxDQUFDO2dCQUMzQixPQUFPLEVBQUUsZ0NBQWdDO2dCQUN6QyxXQUFXO2dCQUNYLFNBQVMsRUFBRTtvQkFDVCxZQUFZLEVBQUUsTUFBQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsMENBQUcsZUFBZSxDQUFXO29CQUNyRSxZQUFZLEVBQUUsTUFBQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsMENBQ3RDLHdCQUF3QixDQUNmO29CQUNYLE1BQU07aUJBQ1A7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLFVBQVU7b0JBQ1YsT0FBTyxFQUFFLElBQUk7aUJBQ2Q7YUFDRixDQUFDLENBQUM7WUFHSCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFBLHNCQUFVLEdBQUUsQ0FBQztRQUNyQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0NBQStDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFOztRQUN6QixJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBSSxPQUFPLENBQUMsT0FBZSxDQUFDLElBQUksQ0FBQztZQUMvQyxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBRXRCLE1BQU0sRUFDSixVQUFVLEVBQ1YsY0FBYyxFQUNkLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsV0FBVyxFQUNYLFdBQVcsRUFDWCxNQUFNLEdBQ1AsR0FBRyxRQUFRLENBQUM7WUFDYixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBRzVCLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBR0QsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BCLE1BQU07Z0JBQ04sVUFBVSxFQUFFLENBQUEsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsV0FBVywwQ0FBRSxJQUFJLEtBQUksY0FBYztnQkFDdEQsZUFBZSxFQUNiLENBQUEsTUFBQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsMENBQUcsZUFBZSxDQUFDLEtBQUksU0FBUztnQkFDNUQsY0FBYyxFQUFFLFdBQVc7Z0JBQzNCLDZCQUE2QixFQUFFLFdBQVc7YUFDM0MsQ0FBQyxDQUFDO1lBRUgsTUFBTSxVQUFVLEdBQUcsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7WUFFakQsc0JBQXNCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDeEMsTUFBTTtnQkFDTixNQUFNLEVBQUUsT0FBTztnQkFDZixlQUFlLEVBQ2IsQ0FBQSxNQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FBRyxlQUFlLENBQUMsS0FBSSxTQUFTO2dCQUM1RCxjQUFjLEVBQUUsV0FBVztnQkFDM0IsNkJBQTZCLEVBQUUsV0FBVzthQUMzQyxDQUFDLENBQUM7WUFHSCxNQUFNLGNBQWMsR0FBRyxJQUFBLDZCQUFpQixFQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXJELE1BQU0sY0FBYyxDQUFDLFFBQVEsQ0FBQztnQkFDNUIsT0FBTyxFQUFFLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sS0FBSSx3QkFBd0I7Z0JBQ25ELEtBQUssRUFBRSxLQUFLLElBQUksU0FBUztnQkFDekIsV0FBVztnQkFDWCxTQUFTLEVBQUU7b0JBQ1QsWUFBWSxFQUFFLE1BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLDBDQUFHLGVBQWUsQ0FBVztvQkFDckUsWUFBWSxFQUFFLE1BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLDBDQUN0Qyx3QkFBd0IsQ0FDZjtvQkFDWCxZQUFZLEVBQUUsTUFBQSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsMENBQ3RDLHdCQUF3QixDQUNmO29CQUNYLE1BQU07aUJBQ1A7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLFVBQVU7b0JBQ1YsT0FBTyxFQUFFLEtBQUs7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFNBQVMsRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLDBDQUFFLElBQUk7aUJBQ3BDO2FBQ0YsQ0FBQyxDQUFDO1lBR0gsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBQSxzQkFBVSxHQUFFLENBQUM7UUFDckIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGlEQUFpRCxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUM7QUEvTVUsUUFBQSx3QkFBd0IsNEJBK01sQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaWRkeSBmcm9tICdAbWlkZHkvY29yZSc7XG5pbXBvcnQgeyBtZXRyaWNzLCBWYWx1ZVR5cGUgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xuaW1wb3J0IHsgZm9yY2VGbHVzaCwgZ2V0U3RhbmRhcmRMb2dnZXIsIGdldFN0YW5kYXJkVHJhY2VyIH0gZnJvbSAnLi4vdGVsZW1ldHJ5JztcbmltcG9ydCB7IHBlcmZvcm1hbmNlIH0gZnJvbSAncGVyZl9ob29rcyc7XG5cbmludGVyZmFjZSBNaWRkeU1pZGRsZXdhcmVPcHRpb25zIHt9XG5cbmV4cG9ydCBjb25zdCBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgPSAoXG4gIG9wdGlvbnM/OiBNaWRkeU1pZGRsZXdhcmVPcHRpb25zXG4pOiBtaWRkeS5NaWRkbGV3YXJlT2JqID0+ICh7XG4gIGJlZm9yZTogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICAgIGNvbnN0IHsgY29udGV4dDogbGFtYmRhQ29udGV4dCB9ID0gcmVxdWVzdDtcbiAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IGxhbWJkYUNvbnRleHQuZnVuY3Rpb25OYW1lO1xuICAgICAgY29uc3QgaW52b2NhdGlvbklkID0gbGFtYmRhQ29udGV4dC5hd3NSZXF1ZXN0SWQ7XG4gICAgICBjb25zdCBzZXJ2aWNlTmFtZSA9IHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRSB8fCAnc3N0LXNlcnZpY2UnO1xuICAgICAgY29uc3QgZXZlbnQgPSByZXF1ZXN0LmV2ZW50IGFzIGFueTtcbiAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycyA9IGV2ZW50Py5xdWVyeVN0cmluZ1BhcmFtZXRlcnMgfHwge307XG4gICAgICBjb25zdCBvcmlnaW4gPSBxdWVyeVN0cmluZ1BhcmFtZXRlcnMub3JpZ2luIHx8ICd1bmtub3duJztcbiAgICAgIGxldCBzdGFnZSA9IHByb2Nlc3MuZW52LlNUQUdFIHx8ICdkZXZlbG9wbWVudCc7XG4gICAgICBpZiAoc3RhZ2UgPT09ICdwcm9kJykgc3RhZ2UgPSAncHJvZHVjdGlvbic7XG5cbiAgICAgIC8vIFVzYXIgU3RhbmRhcmRUcmFjZXIgcGFyYSBjcmlhciBzcGFuIGNvbSBhdHJpYnV0b3MgcGFkcm9uaXphZG9zXG4gICAgICBjb25zdCBzdGFuZGFyZFRyYWNlciA9IGdldFN0YW5kYXJkVHJhY2VyKCk7XG4gICAgICBjb25zdCBzcGFuUmVzdWx0ID0gc3RhbmRhcmRUcmFjZXIuc3RhcnRTcGFuKHtcbiAgICAgICAgc3Bhbk5hbWU6IGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50OiBzdGFnZSxcbiAgICAgICAgZXhlY3V0aW9uOiB7XG4gICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgIGludm9jYXRpb25JZCxcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6IGludm9jYXRpb25JZCxcbiAgICAgICAgICBvcmlnaW4sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgbWV0ZXIgPSBtZXRyaWNzLmdldE1ldGVyKG9yaWdpbik7XG5cbiAgICAgIGNvbnN0IGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0gPSBtZXRlci5jcmVhdGVIaXN0b2dyYW0oXG4gICAgICAgICdsYW1iZGFfZXhlY3V0aW9uX2R1cmF0aW9uJyxcbiAgICAgICAge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGVtcG8gdG90YWwgZGUgZXhlY3XDp8OjbyBkbyBMYW1iZGEgZW0gbXMnLFxuICAgICAgICAgIHVuaXQ6ICdtcycsXG4gICAgICAgICAgdmFsdWVUeXBlOiBWYWx1ZVR5cGUuRE9VQkxFLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgY29uc3Qgc3VjY2Vzc0NvdW50ZXIgPSBtZXRlci5jcmVhdGVDb3VudGVyKCd0b3RhbF9zdWNjZXNzZnVsX3B1cmNoYXNlcycsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCBkZSBjb21wcmFzIGJlbS1zdWNlZGlkYXMnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBmYWlsdXJlQ291bnRlciA9IG1ldGVyLmNyZWF0ZUNvdW50ZXIoJ3RvdGFsX2ZhaWxlZF9wdXJjaGFzZXMnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgZGUgY29tcHJhcyBjb20gZmFsaGEnLFxuICAgICAgfSk7XG5cbiAgICAgIChyZXF1ZXN0LmNvbnRleHQgYXMgYW55KS5vdGVsID0ge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBtZXRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3VjY2Vzc0NvdW50ZXIsXG4gICAgICAgIGZhaWx1cmVDb3VudGVyLFxuICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudDogc3RhZ2UsXG4gICAgICAgIG9yaWdpbixcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIG1pZGR5VGVsZW1ldHJ5TWlkZGxld2FyZSBiZWZvcmUgaG9vazonLCBlcnJvcik7XG4gICAgfVxuICB9LFxuXG4gIGFmdGVyOiBhc3luYyAocmVxdWVzdCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvdGVsRGF0YSA9IChyZXF1ZXN0LmNvbnRleHQgYXMgYW55KS5vdGVsO1xuICAgICAgaWYgKCFvdGVsRGF0YSkgcmV0dXJuO1xuICAgICAgY29uc3QgZXZlbnQgPSByZXF1ZXN0LmV2ZW50IGFzIGFueTtcblxuICAgICAgY29uc3QgcXVlcnlTdHJpbmdQYXJhbWV0ZXJzID0gZXZlbnQ/LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycyB8fCB7fTtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycy5vcmlnaW4gfHwgJ3Vua25vd24nO1xuXG4gICAgICBjb25zdCB7XG4gICAgICAgIHNwYW5SZXN1bHQsXG4gICAgICAgIHN1Y2Nlc3NDb3VudGVyLFxuICAgICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLFxuICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudCxcbiAgICAgIH0gPSBvdGVsRGF0YTtcblxuICAgICAgLy8gTWFyY2FyIHNwYW4gY29tbyBzdWNlc3NvIHVzYW5kbyBTdGFuZGFyZFRyYWNlclxuICAgICAgc3BhblJlc3VsdC5zZXRTdWNjZXNzKHRydWUpO1xuXG4gICAgICAvLyBNw6l0cmljYXNcbiAgICAgIHN1Y2Nlc3NDb3VudGVyLmFkZCgxLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgJ2Z1bmN0aW9uLm5hbWUnOlxuICAgICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uLm5hbWUnXSB8fCAndW5rbm93bicsXG4gICAgICAgICdzZXJ2aWNlLm5hbWUnOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgJ2RlcGxveW1lbnQuZW52aXJvbm1lbnQubmFtZSc6IGVudmlyb25tZW50LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZTtcblxuICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbS5yZWNvcmQoZHVyYXRpb25Ncywge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxuICAgICAgICAnZnVuY3Rpb24ubmFtZSc6XG4gICAgICAgICAgc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZnVuY3Rpb24ubmFtZSddIHx8ICd1bmtub3duJyxcbiAgICAgICAgJ3NlcnZpY2UubmFtZSc6IHNlcnZpY2VOYW1lLFxuICAgICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJzogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgICAgLy8gTG9nIGVzdHJ1dHVyYWRvIGRlIHN1Y2Vzc29cbiAgICAgIGNvbnN0IHN0YW5kYXJkTG9nZ2VyID0gZ2V0U3RhbmRhcmRMb2dnZXIoc3BhblJlc3VsdCk7XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8oe1xuICAgICAgICBtZXNzYWdlOiAnUmVxdWVzdCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIGZ1bmN0aW9uTmFtZTogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZnVuY3Rpb24ubmFtZSddIGFzIHN0cmluZyxcbiAgICAgICAgICBpbnZvY2F0aW9uSWQ6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bXG4gICAgICAgICAgICAnZnVuY3Rpb24uaW52b2NhdGlvbl9pZCdcbiAgICAgICAgICBdIGFzIHN0cmluZyxcbiAgICAgICAgICBvcmlnaW4sXG4gICAgICAgIH0sXG4gICAgICAgIHBlcmZvcm1hbmNlOiB7XG4gICAgICAgICAgZHVyYXRpb25NcyxcbiAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIEZpbmFsaXphciBzcGFuXG4gICAgICBzcGFuUmVzdWx0LmVuZCgpO1xuICAgICAgYXdhaXQgZm9yY2VGbHVzaCgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgYWZ0ZXIgaG9vazonLCBlcnJvcik7XG4gICAgfVxuICB9LFxuXG4gIG9uRXJyb3I6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG90ZWxEYXRhID0gKHJlcXVlc3QuY29udGV4dCBhcyBhbnkpLm90ZWw7XG4gICAgICBpZiAoIW90ZWxEYXRhKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgc3BhblJlc3VsdCxcbiAgICAgICAgZmFpbHVyZUNvdW50ZXIsXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXG4gICAgICAgIHN0YXJ0VGltZSxcbiAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgICBvcmlnaW4sXG4gICAgICB9ID0gb3RlbERhdGE7XG4gICAgICBjb25zdCBlcnJvciA9IHJlcXVlc3QuZXJyb3I7XG5cbiAgICAgIC8vIE1hcmNhciBzcGFuIGNvbW8gZXJybyB1c2FuZG8gU3RhbmRhcmRUcmFjZXJcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBzcGFuUmVzdWx0LnNldEVycm9yKGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgLy8gTcOpdHJpY2FzXG4gICAgICBmYWlsdXJlQ291bnRlci5hZGQoMSwge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgIGVycm9yX3R5cGU6IGVycm9yPy5jb25zdHJ1Y3Rvcj8ubmFtZSB8fCAnVW5rbm93bkVycm9yJyxcbiAgICAgICAgJ2Z1bmN0aW9uLm5hbWUnOlxuICAgICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uLm5hbWUnXSB8fCAndW5rbm93bicsXG4gICAgICAgICdzZXJ2aWNlLm5hbWUnOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgJ2RlcGxveW1lbnQuZW52aXJvbm1lbnQubmFtZSc6IGVudmlyb25tZW50LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZTtcblxuICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbS5yZWNvcmQoZHVyYXRpb25Ncywge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgICAgJ2Z1bmN0aW9uLm5hbWUnOlxuICAgICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uLm5hbWUnXSB8fCAndW5rbm93bicsXG4gICAgICAgICdzZXJ2aWNlLm5hbWUnOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgJ2RlcGxveW1lbnQuZW52aXJvbm1lbnQubmFtZSc6IGVudmlyb25tZW50LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIExvZyBlc3RydXR1cmFkbyBkZSBlcnJvXG4gICAgICBjb25zdCBzdGFuZGFyZExvZ2dlciA9IGdldFN0YW5kYXJkTG9nZ2VyKHNwYW5SZXN1bHQpO1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcih7XG4gICAgICAgIG1lc3NhZ2U6IGVycm9yPy5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yIG9jY3VycmVkJyxcbiAgICAgICAgZXJyb3I6IGVycm9yIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIGZ1bmN0aW9uTmFtZTogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZnVuY3Rpb24ubmFtZSddIGFzIHN0cmluZyxcbiAgICAgICAgICBpbnZvY2F0aW9uSWQ6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bXG4gICAgICAgICAgICAnZnVuY3Rpb24uaW52b2NhdGlvbl9pZCdcbiAgICAgICAgICBdIGFzIHN0cmluZyxcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bXG4gICAgICAgICAgICAnZnVuY3Rpb24uaW52b2NhdGlvbl9pZCdcbiAgICAgICAgICBdIGFzIHN0cmluZyxcbiAgICAgICAgICBvcmlnaW4sXG4gICAgICAgIH0sXG4gICAgICAgIHBlcmZvcm1hbmNlOiB7XG4gICAgICAgICAgZHVyYXRpb25NcyxcbiAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIGVycm9yVHlwZTogZXJyb3I/LmNvbnN0cnVjdG9yPy5uYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIEZpbmFsaXphciBzcGFuXG4gICAgICBzcGFuUmVzdWx0LmVuZCgpO1xuICAgICAgYXdhaXQgZm9yY2VGbHVzaCgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgb25FcnJvciBob29rOicsIGVycm9yKTtcbiAgICB9XG4gIH0sXG59KTtcbiJdfQ==
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zc3QvbWlkZHkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSw0Q0FBd0Q7QUFDeEQsNENBQWdGO0FBQ2hGLDJDQUF5QztBQUlsQyxNQUFNLHdCQUF3QixHQUFHLENBQ3RDLE9BQWdDLEVBQ1gsRUFBRSxDQUFDLENBQUM7SUFDekIsTUFBTSxFQUFFLENBQU8sT0FBTyxFQUFFLEVBQUU7UUFDeEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxTQUFTLEdBQUcsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUVwQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUMzQyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ2hELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDaEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksYUFBYSxDQUFDO1lBQzlELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFZLENBQUM7WUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxxQkFBcUIsS0FBSSxFQUFFLENBQUM7WUFDakUsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztZQUN6RCxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxhQUFhLENBQUM7WUFDL0MsSUFBSSxLQUFLLEtBQUssTUFBTTtnQkFBRSxLQUFLLEdBQUcsWUFBWSxDQUFDO1lBRzNDLE1BQU0sY0FBYyxHQUFHLElBQUEsNkJBQWlCLEdBQUUsQ0FBQztZQUMzQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO2dCQUMx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WCxVQUFVO29CQUNWLE9BQU8sRUFBRSxLQUFLO2lCQUNmO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxTQUFTLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsV0FBVywwQ0FBRSxJQUFJO2lCQUNwQzthQUNGLENBQUMsQ0FBQztZQUdILFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUEsc0JBQVUsR0FBRSxDQUFDO1FBQ3JCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxpREFBaUQsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRSxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDO0FBL01VLFFBQUEsd0JBQXdCLDRCQStNbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWlkZHkgZnJvbSAnQG1pZGR5L2NvcmUnO1xuaW1wb3J0IHsgbWV0cmljcywgVmFsdWVUeXBlIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpJztcbmltcG9ydCB7IGZvcmNlRmx1c2gsIGdldFN0YW5kYXJkTG9nZ2VyLCBnZXRTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4uL3RlbGVtZXRyeSc7XG5pbXBvcnQgeyBwZXJmb3JtYW5jZSB9IGZyb20gJ3BlcmZfaG9va3MnO1xuXG5pbnRlcmZhY2UgTWlkZHlNaWRkbGV3YXJlT3B0aW9ucyB7fVxuXG5leHBvcnQgY29uc3QgbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlID0gKFxuICBvcHRpb25zPzogTWlkZHlNaWRkbGV3YXJlT3B0aW9uc1xuKTogbWlkZHkuTWlkZGxld2FyZU9iaiA9PiAoe1xuICBiZWZvcmU6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgICBjb25zdCB7IGNvbnRleHQ6IGxhbWJkYUNvbnRleHQgfSA9IHJlcXVlc3Q7XG4gICAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSBsYW1iZGFDb250ZXh0LmZ1bmN0aW9uTmFtZTtcbiAgICAgIGNvbnN0IGludm9jYXRpb25JZCA9IGxhbWJkYUNvbnRleHQuYXdzUmVxdWVzdElkO1xuICAgICAgY29uc3Qgc2VydmljZU5hbWUgPSBwcm9jZXNzLmVudi5TRVJWSUNFX05BTUUgfHwgJ3NzdC1zZXJ2aWNlJztcbiAgICAgIGNvbnN0IGV2ZW50ID0gcmVxdWVzdC5ldmVudCBhcyBhbnk7XG4gICAgICBjb25zdCBxdWVyeVN0cmluZ1BhcmFtZXRlcnMgPSBldmVudD8ucXVlcnlTdHJpbmdQYXJhbWV0ZXJzIHx8IHt9O1xuICAgICAgY29uc3Qgb3JpZ2luID0gcXVlcnlTdHJpbmdQYXJhbWV0ZXJzLm9yaWdpbiB8fCAndW5rbm93bic7XG4gICAgICBsZXQgc3RhZ2UgPSBwcm9jZXNzLmVudi5TVEFHRSB8fCAnZGV2ZWxvcG1lbnQnO1xuICAgICAgaWYgKHN0YWdlID09PSAncHJvZCcpIHN0YWdlID0gJ3Byb2R1Y3Rpb24nO1xuXG4gICAgICAvLyBVc2FyIFN0YW5kYXJkVHJhY2VyIHBhcmEgY3JpYXIgc3BhbiBjb20gYXRyaWJ1dG9zIHBhZHJvbml6YWRvc1xuICAgICAgY29uc3Qgc3RhbmRhcmRUcmFjZXIgPSBnZXRTdGFuZGFyZFRyYWNlcigpO1xuICAgICAgY29uc3Qgc3BhblJlc3VsdCA9IHN0YW5kYXJkVHJhY2VyLnN0YXJ0U3Bhbih7XG4gICAgICAgIHNwYW5OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudDogc3RhZ2UsXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICBpbnZvY2F0aW9uSWQsXG4gICAgICAgICAgYXdzUmVxdWVzdElkOiBpbnZvY2F0aW9uSWQsXG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG1ldGVyID0gbWV0cmljcy5nZXRNZXRlcihvcmlnaW4pO1xuXG4gICAgICBjb25zdCBleGVjdXRpb25UaW1lSGlzdG9ncmFtID0gbWV0ZXIuY3JlYXRlSGlzdG9ncmFtKFxuICAgICAgICAnbGFtYmRhX2V4ZWN1dGlvbl9kdXJhdGlvbicsXG4gICAgICAgIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RlbXBvIHRvdGFsIGRlIGV4ZWN1w6fDo28gZG8gTGFtYmRhIGVtIG1zJyxcbiAgICAgICAgICB1bml0OiAnbXMnLFxuICAgICAgICAgIHZhbHVlVHlwZTogVmFsdWVUeXBlLkRPVUJMRSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHN1Y2Nlc3NDb3VudGVyID0gbWV0ZXIuY3JlYXRlQ291bnRlcigndG90YWxfc3VjY2Vzc2Z1bF9wdXJjaGFzZXMnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgZGUgY29tcHJhcyBiZW0tc3VjZWRpZGFzJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZmFpbHVyZUNvdW50ZXIgPSBtZXRlci5jcmVhdGVDb3VudGVyKCd0b3RhbF9mYWlsZWRfcHVyY2hhc2VzJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIGRlIGNvbXByYXMgY29tIGZhbGhhJyxcbiAgICAgIH0pO1xuXG4gICAgICAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbCA9IHtcbiAgICAgICAgc3BhblJlc3VsdCxcbiAgICAgICAgbWV0ZXIsXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXG4gICAgICAgIHN1Y2Nlc3NDb3VudGVyLFxuICAgICAgICBmYWlsdXJlQ291bnRlcixcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IHN0YWdlLFxuICAgICAgICBvcmlnaW4sXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgYmVmb3JlIGhvb2s6JywgZXJyb3IpO1xuICAgIH1cbiAgfSxcblxuICBhZnRlcjogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcbiAgICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcbiAgICAgIGNvbnN0IGV2ZW50ID0gcmVxdWVzdC5ldmVudCBhcyBhbnk7XG5cbiAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycyA9IGV2ZW50Py5xdWVyeVN0cmluZ1BhcmFtZXRlcnMgfHwge307XG4gICAgICBjb25zdCBvcmlnaW4gPSBxdWVyeVN0cmluZ1BhcmFtZXRlcnMub3JpZ2luIHx8ICd1bmtub3duJztcblxuICAgICAgY29uc3Qge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBzdWNjZXNzQ291bnRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICB9ID0gb3RlbERhdGE7XG5cbiAgICAgIC8vIE1hcmNhciBzcGFuIGNvbW8gc3VjZXNzbyB1c2FuZG8gU3RhbmRhcmRUcmFjZXJcbiAgICAgIHNwYW5SZXN1bHQuc2V0U3VjY2Vzcyh0cnVlKTtcblxuICAgICAgLy8gTcOpdHJpY2FzXG4gICAgICBzdWNjZXNzQ291bnRlci5hZGQoMSwge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgICdmdW5jdGlvbi5uYW1lJzpcbiAgICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbi5uYW1lJ10gfHwgJ3Vua25vd24nLFxuICAgICAgICAnc2VydmljZS5uYW1lJzogc2VydmljZU5hbWUsXG4gICAgICAgICdkZXBsb3ltZW50LmVudmlyb25tZW50Lm5hbWUnOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG5cbiAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0ucmVjb3JkKGR1cmF0aW9uTXMsIHtcbiAgICAgICAgb3JpZ2luLFxuICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgICAgJ2Z1bmN0aW9uLm5hbWUnOlxuICAgICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uLm5hbWUnXSB8fCAndW5rbm93bicsXG4gICAgICAgICdzZXJ2aWNlLm5hbWUnOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgJ2RlcGxveW1lbnQuZW52aXJvbm1lbnQubmFtZSc6IGVudmlyb25tZW50LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIExvZyBlc3RydXR1cmFkbyBkZSBzdWNlc3NvXG4gICAgICBjb25zdCBzdGFuZGFyZExvZ2dlciA9IGdldFN0YW5kYXJkTG9nZ2VyKHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzKTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nSW5mbyh7XG4gICAgICAgIG1lc3NhZ2U6ICdSZXF1ZXN0IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgICBlbnZpcm9ubWVudCxcbiAgICAgICAgZXhlY3V0aW9uOiB7XG4gICAgICAgICAgZnVuY3Rpb25OYW1lOiBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbi5uYW1lJ10gYXMgc3RyaW5nLFxuICAgICAgICAgIGludm9jYXRpb25JZDogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LltcbiAgICAgICAgICAgICdmdW5jdGlvbi5pbnZvY2F0aW9uX2lkJ1xuICAgICAgICAgIF0gYXMgc3RyaW5nLFxuICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgfSxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gRmluYWxpemFyIHNwYW5cbiAgICAgIHNwYW5SZXN1bHQuZW5kKCk7XG4gICAgICBhd2FpdCBmb3JjZUZsdXNoKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIG1pZGR5VGVsZW1ldHJ5TWlkZGxld2FyZSBhZnRlciBob29rOicsIGVycm9yKTtcbiAgICB9XG4gIH0sXG5cbiAgb25FcnJvcjogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcbiAgICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcblxuICAgICAgY29uc3Qge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBmYWlsdXJlQ291bnRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIG9yaWdpbixcbiAgICAgIH0gPSBvdGVsRGF0YTtcbiAgICAgIGNvbnN0IGVycm9yID0gcmVxdWVzdC5lcnJvcjtcblxuICAgICAgLy8gTWFyY2FyIHNwYW4gY29tbyBlcnJvIHVzYW5kbyBTdGFuZGFyZFRyYWNlclxuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHNwYW5SZXN1bHQuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICAvLyBNw6l0cmljYXNcbiAgICAgIGZhaWx1cmVDb3VudGVyLmFkZCgxLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgZXJyb3JfdHlwZTogZXJyb3I/LmNvbnN0cnVjdG9yPy5uYW1lIHx8ICdVbmtub3duRXJyb3InLFxuICAgICAgICAnZnVuY3Rpb24ubmFtZSc6XG4gICAgICAgICAgc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZnVuY3Rpb24ubmFtZSddIHx8ICd1bmtub3duJyxcbiAgICAgICAgJ3NlcnZpY2UubmFtZSc6IHNlcnZpY2VOYW1lLFxuICAgICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJzogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuXG4gICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLnJlY29yZChkdXJhdGlvbk1zLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgICAnZnVuY3Rpb24ubmFtZSc6XG4gICAgICAgICAgc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZnVuY3Rpb24ubmFtZSddIHx8ICd1bmtub3duJyxcbiAgICAgICAgJ3NlcnZpY2UubmFtZSc6IHNlcnZpY2VOYW1lLFxuICAgICAgICAnZGVwbG95bWVudC5lbnZpcm9ubWVudC5uYW1lJzogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgICAgLy8gTG9nIGVzdHJ1dHVyYWRvIGRlIGVycm9cbiAgICAgIGNvbnN0IHN0YW5kYXJkTG9nZ2VyID0gZ2V0U3RhbmRhcmRMb2dnZXIoc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXMpO1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcih7XG4gICAgICAgIG1lc3NhZ2U6IGVycm9yPy5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yIG9jY3VycmVkJyxcbiAgICAgICAgZXJyb3I6IGVycm9yIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIGZ1bmN0aW9uTmFtZTogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnZnVuY3Rpb24ubmFtZSddIGFzIHN0cmluZyxcbiAgICAgICAgICBpbnZvY2F0aW9uSWQ6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bXG4gICAgICAgICAgICAnZnVuY3Rpb24uaW52b2NhdGlvbl9pZCdcbiAgICAgICAgICBdIGFzIHN0cmluZyxcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bXG4gICAgICAgICAgICAnZnVuY3Rpb24uaW52b2NhdGlvbl9pZCdcbiAgICAgICAgICBdIGFzIHN0cmluZyxcbiAgICAgICAgICBvcmlnaW4sXG4gICAgICAgIH0sXG4gICAgICAgIHBlcmZvcm1hbmNlOiB7XG4gICAgICAgICAgZHVyYXRpb25NcyxcbiAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIGVycm9yVHlwZTogZXJyb3I/LmNvbnN0cnVjdG9yPy5uYW1lLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIEZpbmFsaXphciBzcGFuXG4gICAgICBzcGFuUmVzdWx0LmVuZCgpO1xuICAgICAgYXdhaXQgZm9yY2VGbHVzaCgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgb25FcnJvciBob29rOicsIGVycm9yKTtcbiAgICB9XG4gIH0sXG59KTtcbiJdfQ==
|
package/dist/sst/telemetry.js
CHANGED
|
@@ -103,7 +103,7 @@ const getStandardLogger = (scopeAttributes) => {
|
|
|
103
103
|
includeTraceContext: true,
|
|
104
104
|
scopeAttributes,
|
|
105
105
|
});
|
|
106
|
-
standardLogger = new core_1.StandardLogger(logger, tracer);
|
|
106
|
+
standardLogger = new core_1.StandardLogger(logger, tracer, scopeAttributes);
|
|
107
107
|
}
|
|
108
108
|
return standardLogger;
|
|
109
109
|
};
|
|
@@ -122,4 +122,4 @@ const forceFlush = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
122
122
|
yield loggerProvider.forceFlush();
|
|
123
123
|
});
|
|
124
124
|
exports.forceFlush = forceFlush;
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NzdC90ZWxlbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQWtEO0FBQ2xELHNGQUE0RTtBQUM1RSwwRkFBK0U7QUFDL0Usb0ZBQXlFO0FBQ3pFLDREQUEyRTtBQUMzRSw4REFBZ0Q7QUFDaEQsb0VBQXNEO0FBQ3RELDhFQUF3RTtBQUN4RSw0Q0FBdUQ7QUFDdkQsa0NBQXlEO0FBRXpELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUM7QUFDakQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRXhFLE1BQU0sT0FBTyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsS0FBSyxDQUFDO0FBRWhFLE1BQU0sYUFBYSxHQUFHLElBQUksNENBQWlCLENBQUM7SUFDMUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxTQUFTO0lBQ3hCLE9BQU8sRUFBRTtRQUNQLGFBQWEsRUFBRSxTQUFTLFNBQVMsRUFBRTtRQUNuQyxjQUFjLEVBQUUsa0JBQWtCO0tBQ25DO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxjQUFjLEdBQUcsSUFBSSwrQ0FBa0IsQ0FBQztJQUM1QyxHQUFHLEVBQUUsR0FBRyxPQUFPLFVBQVU7SUFDekIsT0FBTyxFQUFFO1FBQ1AsYUFBYSxFQUFFLFNBQVMsU0FBUyxFQUFFO1FBQ25DLGNBQWMsRUFBRSxrQkFBa0I7S0FDbkM7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFJLHlDQUFlLENBQUM7SUFDdEMsR0FBRyxFQUFFLEdBQUcsT0FBTyxPQUFPO0lBQ3RCLE9BQU8sRUFBRTtRQUNQLGFBQWEsRUFBRSxTQUFTLFNBQVMsRUFBRTtRQUNuQyxjQUFjLEVBQUUsa0JBQWtCO0tBQ25DO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxZQUFZLEdBQUcsSUFBSSwyQ0FBNkIsQ0FBQztJQUNyRCxRQUFRLEVBQUUsY0FBYztJQUN4QixvQkFBb0IsRUFBRSxJQUFJO0NBQzNCLENBQUMsQ0FBQztBQUdILE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLGFBQWEsQ0FBQztBQUM5RCxNQUFNLFFBQVEsR0FBRyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQyx3Q0FBaUIsQ0FBQyxFQUFFLFdBQVc7Q0FDakMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxjQUFjLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUM3RCxNQUFNLGtCQUFrQixHQUFHLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3pFLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBRXpELE1BQU0sR0FBRyxHQUFHLElBQUksa0JBQU8sQ0FBQztJQUN0QixhQUFhO0lBQ2IsWUFBWSxFQUFFLFlBQW1CO0NBQ2xDLENBQUMsQ0FBQztBQUVILEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUdaLElBQUksY0FBYyxHQUEwQixJQUFJLENBQUM7QUFDakQsSUFBSSxjQUFjLEdBQTBCLElBQUksQ0FBQztBQUUxQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLGVBQTRCLEVBQ1osRUFBRTtJQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBaUIsR0FBRSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxFQUFFO1lBQ3hFLG1CQUFtQixFQUFFLElBQUk7WUFDekIsZUFBZTtTQUNoQixDQUFDLENBQUM7UUFDSCxjQUFjLEdBQUcsSUFBSSxxQkFBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQVpXLFFBQUEsaUJBQWlCLHFCQVk1QjtBQUVLLE1BQU0saUJBQWlCLEdBQUcsR0FBbUIsRUFBRTtJQUNwRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsV0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsY0FBYyxHQUFHLElBQUkscUJBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQU5XLFFBQUEsaUJBQWlCLHFCQU01QjtBQUVLLE1BQU0sVUFBVSxHQUFHLEdBQVMsRUFBRTtJQUNuQyxNQUFNLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNoQyxNQUFNLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNqQyxNQUFNLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUNwQyxDQUFDLENBQUEsQ0FBQztBQUpXLFFBQUEsVUFBVSxjQUlyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVTREsgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9zZGstbm9kZSc7XG5pbXBvcnQgeyBPVExQVHJhY2VFeHBvcnRlciB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2V4cG9ydGVyLXRyYWNlLW90bHAtaHR0cCc7XG5pbXBvcnQgeyBPVExQTWV0cmljRXhwb3J0ZXIgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9leHBvcnRlci1tZXRyaWNzLW90bHAtaHR0cCc7XG5pbXBvcnQgeyBPVExQTG9nRXhwb3J0ZXIgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9leHBvcnRlci1sb2dzLW90bHAtaHR0cCc7XG5pbXBvcnQgeyBQZXJpb2RpY0V4cG9ydGluZ01ldHJpY1JlYWRlciB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L3Nkay1tZXRyaWNzJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnQG9wZW50ZWxlbWV0cnkvc2RrLWxvZ3MnO1xuaW1wb3J0ICogYXMgcmVzb3VyY2VzIGZyb20gJ0BvcGVudGVsZW1ldHJ5L3Jlc291cmNlcyc7XG5pbXBvcnQgeyBBVFRSX1NFUlZJQ0VfTkFNRSB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L3NlbWFudGljLWNvbnZlbnRpb25zJztcbmltcG9ydCB7IEF0dHJpYnV0ZXMsIHRyYWNlIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpJztcbmltcG9ydCB7IFN0YW5kYXJkTG9nZ2VyLCBTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4uL2NvcmUnO1xuXG5jb25zdCB1c2VyID0gcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX1VTRVI7XG5jb25zdCBwYXNzd29yZCA9IHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9QQVNTO1xuXG5jb25zdCBiYXNpY0F1dGggPSBCdWZmZXIuZnJvbShgJHt1c2VyfToke3Bhc3N3b3JkfWApLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuY29uc3QgYmFzZVVybCA9IGAke3Byb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVH0vdjFgO1xuXG5jb25zdCB0cmFjZUV4cG9ydGVyID0gbmV3IE9UTFBUcmFjZUV4cG9ydGVyKHtcbiAgdXJsOiBgJHtiYXNlVXJsfS90cmFjZXNgLFxuICBoZWFkZXJzOiB7XG4gICAgQXV0aG9yaXphdGlvbjogYEJhc2ljICR7YmFzaWNBdXRofWAsXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBtZXRyaWNFeHBvcnRlciA9IG5ldyBPVExQTWV0cmljRXhwb3J0ZXIoe1xuICB1cmw6IGAke2Jhc2VVcmx9L21ldHJpY3NgLFxuICBoZWFkZXJzOiB7XG4gICAgQXV0aG9yaXphdGlvbjogYEJhc2ljICR7YmFzaWNBdXRofWAsXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBsb2dFeHBvcnRlciA9IG5ldyBPVExQTG9nRXhwb3J0ZXIoe1xuICB1cmw6IGAke2Jhc2VVcmx9L2xvZ3NgLFxuICBoZWFkZXJzOiB7XG4gICAgQXV0aG9yaXphdGlvbjogYEJhc2ljICR7YmFzaWNBdXRofWAsXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBtZXRyaWNSZWFkZXIgPSBuZXcgUGVyaW9kaWNFeHBvcnRpbmdNZXRyaWNSZWFkZXIoe1xuICBleHBvcnRlcjogbWV0cmljRXhwb3J0ZXIsXG4gIGV4cG9ydEludGVydmFsTWlsbGlzOiAxMDAwLFxufSk7XG5cbi8vIENvbmZpZ3VyYXIgTG9nZ2VyUHJvdmlkZXJcbmNvbnN0IHNlcnZpY2VOYW1lID0gcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FIHx8ICdzc3Qtc2VydmljZSc7XG5jb25zdCByZXNvdXJjZSA9IG5ldyByZXNvdXJjZXMuUmVzb3VyY2Uoe1xuICBbQVRUUl9TRVJWSUNFX05BTUVdOiBzZXJ2aWNlTmFtZSxcbn0pO1xuXG5jb25zdCBsb2dnZXJQcm92aWRlciA9IG5ldyBsb2dzLkxvZ2dlclByb3ZpZGVyKHsgcmVzb3VyY2UgfSk7XG5jb25zdCBsb2dSZWNvcmRQcm9jZXNzb3IgPSBuZXcgbG9ncy5CYXRjaExvZ1JlY29yZFByb2Nlc3Nvcihsb2dFeHBvcnRlcik7XG5sb2dnZXJQcm92aWRlci5hZGRMb2dSZWNvcmRQcm9jZXNzb3IobG9nUmVjb3JkUHJvY2Vzc29yKTtcblxuY29uc3Qgc2RrID0gbmV3IE5vZGVTREsoe1xuICB0cmFjZUV4cG9ydGVyLFxuICBtZXRyaWNSZWFkZXI6IG1ldHJpY1JlYWRlciBhcyBhbnksIC8vIFR5cGUgY29tcGF0aWJpbGl0eSB3b3JrYXJvdW5kXG59KTtcblxuc2RrLnN0YXJ0KCk7XG5cbi8vIENyaWFyIFN0YW5kYXJkTG9nZ2VyIHBhcmEgc2VyIHVzYWRvIG5vcyBtaWRkbGV3YXJlc1xubGV0IHN0YW5kYXJkTG9nZ2VyOiBTdGFuZGFyZExvZ2dlciB8IG51bGwgPSBudWxsO1xubGV0IHN0YW5kYXJkVHJhY2VyOiBTdGFuZGFyZFRyYWNlciB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhbmRhcmRMb2dnZXIgPSAoXG4gIHNjb3BlQXR0cmlidXRlcz86IEF0dHJpYnV0ZXNcbik6IFN0YW5kYXJkTG9nZ2VyID0+IHtcbiAgaWYgKCFzdGFuZGFyZExvZ2dlcikge1xuICAgIGNvbnN0IHRyYWNlciA9IGdldFN0YW5kYXJkVHJhY2VyKCk7XG4gICAgY29uc3QgbG9nZ2VyID0gbG9nZ2VyUHJvdmlkZXIuZ2V0TG9nZ2VyKCdzc3QtbWlkZGxld2FyZS1sb2dnZXInLCAnMS4wLjAnLCB7XG4gICAgICBpbmNsdWRlVHJhY2VDb250ZXh0OiB0cnVlLFxuICAgICAgc2NvcGVBdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHN0YW5kYXJkTG9nZ2VyID0gbmV3IFN0YW5kYXJkTG9nZ2VyKGxvZ2dlciwgdHJhY2VyLCBzY29wZUF0dHJpYnV0ZXMpO1xuICB9XG4gIHJldHVybiBzdGFuZGFyZExvZ2dlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTdGFuZGFyZFRyYWNlciA9ICgpOiBTdGFuZGFyZFRyYWNlciA9PiB7XG4gIGlmICghc3RhbmRhcmRUcmFjZXIpIHtcbiAgICBjb25zdCB0cmFjZXIgPSB0cmFjZS5nZXRUcmFjZXIoc2VydmljZU5hbWUsICcxLjAuMCcpO1xuICAgIHN0YW5kYXJkVHJhY2VyID0gbmV3IFN0YW5kYXJkVHJhY2VyKHRyYWNlciwgc2VydmljZU5hbWUpO1xuICB9XG4gIHJldHVybiBzdGFuZGFyZFRyYWNlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JjZUZsdXNoID0gYXN5bmMgKCkgPT4ge1xuICBhd2FpdCBtZXRyaWNSZWFkZXIuZm9yY2VGbHVzaCgpO1xuICBhd2FpdCB0cmFjZUV4cG9ydGVyLmZvcmNlRmx1c2goKTtcbiAgYXdhaXQgbG9nZ2VyUHJvdmlkZXIuZm9yY2VGbHVzaCgpO1xufTtcbiJdfQ==
|