@hpcc-js/comms 2.62.0 → 2.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es6.js +209 -198
- package/dist/index.es6.js.map +1 -1
- package/dist/index.js +111 -86
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.node.js +226 -174
- package/dist/index.node.js.map +1 -1
- package/dist/index.node.min.js +1 -1
- package/dist/index.node.min.js.map +1 -1
- package/lib-es6/__package__.js +2 -2
- package/lib-es6/clienttools/eclMeta.js +4 -4
- package/lib-es6/clienttools/eclMeta.js.map +1 -1
- package/lib-es6/clienttools/eclcc.js +18 -18
- package/lib-es6/clienttools/eclcc.js.map +1 -1
- package/lib-es6/connection.js +6 -6
- package/lib-es6/connection.js.map +1 -1
- package/lib-es6/ecl/activity.js +7 -0
- package/lib-es6/ecl/activity.js.map +1 -1
- package/lib-es6/ecl/graph.js +5 -5
- package/lib-es6/ecl/graph.js.map +1 -1
- package/lib-es6/ecl/logicalFile.js +2 -2
- package/lib-es6/ecl/logicalFile.js.map +1 -1
- package/lib-es6/ecl/result.js +2 -1
- package/lib-es6/ecl/result.js.map +1 -1
- package/lib-es6/ecl/scope.js +5 -5
- package/lib-es6/ecl/scope.js.map +1 -1
- package/lib-es6/ecl/store.js +4 -4
- package/lib-es6/ecl/store.js.map +1 -1
- package/lib-es6/ecl/targetCluster.js +2 -2
- package/lib-es6/ecl/targetCluster.js.map +1 -1
- package/lib-es6/ecl/topology.js +3 -2
- package/lib-es6/ecl/topology.js.map +1 -1
- package/lib-es6/ecl/workunit.js +4 -4
- package/lib-es6/ecl/workunit.js.map +1 -1
- package/lib-es6/espConnection.js +1 -1
- package/lib-es6/espConnection.js.map +1 -1
- package/lib-es6/services/wsDFU.js.map +1 -1
- package/lib-es6/services/wsEcl.js +3 -3
- package/lib-es6/services/wsEcl.js.map +1 -1
- package/lib-es6/services/wsWorkunits.js.map +1 -1
- package/package.json +21 -20
- package/src/__package__.ts +2 -2
- package/src/ecl/activity.ts +9 -0
- package/src/ecl/result.ts +1 -0
- package/src/ecl/topology.ts +2 -2
- package/src/services/wsDFU.ts +1 -0
- package/src/services/wsWorkunits.ts +2 -0
- package/types/__package__.d.ts +2 -2
- package/types/ecl/activity.d.ts +2 -1
- package/types/ecl/activity.d.ts.map +1 -1
- package/types/ecl/result.d.ts.map +1 -1
- package/types/ecl/topology.d.ts.map +1 -1
- package/types/services/wsDFU.d.ts +1 -0
- package/types/services/wsDFU.d.ts.map +1 -1
- package/types/services/wsWorkunits.d.ts +2 -0
- package/types/services/wsWorkunits.d.ts.map +1 -1
- package/types-3.4/__package__.d.ts +2 -2
- package/types-3.4/ecl/activity.d.ts +2 -1
- package/types-3.4/services/wsDFU.d.ts +1 -0
- package/types-3.4/services/wsWorkunits.d.ts +2 -0
package/dist/index.node.js
CHANGED
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
|
-
|
|
7
5
|
var util = require('@hpcc-js/util');
|
|
8
6
|
var xmldom = require('@xmldom/xmldom');
|
|
9
|
-
var fetch$1 =
|
|
10
|
-
var AbortController =
|
|
7
|
+
var fetch$1 = require('node-fetch');
|
|
8
|
+
var AbortController = require('abort-controller');
|
|
11
9
|
var https = require('https');
|
|
12
10
|
var safeBuffer = require('safe-buffer');
|
|
13
11
|
var cp = require('child_process');
|
|
@@ -16,11 +14,40 @@ var os = require('os');
|
|
|
16
14
|
var path = require('path');
|
|
17
15
|
var tmp = require('tmp');
|
|
18
16
|
|
|
17
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
|
+
|
|
19
|
+
function _interopNamespace(e) {
|
|
20
|
+
if (e && e.__esModule) return e;
|
|
21
|
+
var n = Object.create(null);
|
|
22
|
+
if (e) {
|
|
23
|
+
Object.keys(e).forEach(function (k) {
|
|
24
|
+
if (k !== 'default') {
|
|
25
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
26
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function () { return e[k]; }
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
n["default"] = e;
|
|
34
|
+
return Object.freeze(n);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch$1);
|
|
38
|
+
var AbortController__default = /*#__PURE__*/_interopDefaultLegacy(AbortController);
|
|
39
|
+
var https__namespace = /*#__PURE__*/_interopNamespace(https);
|
|
40
|
+
var cp__namespace = /*#__PURE__*/_interopNamespace(cp);
|
|
41
|
+
var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
|
|
42
|
+
var os__namespace = /*#__PURE__*/_interopNamespace(os);
|
|
43
|
+
var path__namespace = /*#__PURE__*/_interopNamespace(path);
|
|
44
|
+
var tmp__namespace = /*#__PURE__*/_interopNamespace(tmp);
|
|
45
|
+
|
|
19
46
|
var trustwave = "\nTrustwave Secure Global Extended Validation CA, Level 1\nSecureTrust Corporation\n00F6F61CE4A3635BB0CA8AACEEFCB2D0F0\n-----BEGIN CERTIFICATE-----\nMIIE+DCCA+CgAwIBAgIRAPb2HOSjY1uwyoqs7vyy0PAwDQYJKoZIhvcNAQELBQAw\nSjELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRkwFwYDVQQDExBTZWN1cmUgR2xvYmFsIENBMB4XDTE1MDgxMjIwMTcyOVoXDTI1\nMDgwOTIwMTcyOVowgbgxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQ\nMA4GA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMUAwPgYDVQQDEzdUcnVzdHdhdmUgU2VjdXJlIEdsb2JhbCBFeHRlbmRlZCBW\nYWxpZGF0aW9uIENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdh\ndmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx6D45slgLGq8\n2G/NPFnuFscv7UM1eRoQyx3h0DdSTfoRvHkkNv4Gf6OudZDOXqwV86v/SjcNEP87\nnjMOEqQ7dKQPtiYzEkK0MOrjbRySFC5dvCTI9T8tnBgFpYA9YXwbpUqXxEi0Ayoq\nhA7UQhS7Q+YGrVwZaJ6LiWrQw+x8ACPLqEvPmMZhrxagKwrsKbylMsAQ1ljk8X74\nJ76TSxi/AZpxos7tHD0XbO8elXFZexfsgPLDRpMs6jREVeQj1jVCWLtg9twiXzcI\naUCchBsTSc92WGkKwBnH70dlL2N8kT/BNe3tAsXuBpZRILANY59jLrLnHEJNfado\nt6ZpougolQIDAQABo4IBaDCCAWQwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4E\nFgQUx33qXRmrVNT6P+ZKc956sjwdbC4wDgYDVR0PAQH/BAQDAgGGMD0GA1UdIAQ2\nMDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9TR0NBLmNybDBsBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9v\nY3NwLnRydXN0d2F2ZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9pc3N1ZXJzL1NHQ0EuY3J0MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr\nBgEFBQcDATAfBgNVHSMEGDAWgBSvRATCQX5Ig9tOOQLs7IR65s7JpDANBgkqhkiG\n9w0BAQsFAAOCAQEAkn/4wKQRLo41fDRkZtfF+3o8JtUmfQXf2zoo9Ll29hhCiz8k\nBOpIek9MrFd/cdNgUw1nckIi+J3udyFrbO5p64JBvtc0K4kAOPFSKpHssFcnRLPx\nFXgGxXq6ohD4Py+xaEApslYFfMy89N6DKs/v/10/+/xD831RFEUMUoQxBimsmmNf\n+cLoMwF5bpoSz9JcWqCmSlK0Nla1dPphaoA/MObLN2iQPpeM3yF5dTUm1tPxe39W\nOlr6nLU1xO+yRDrlGLXrVDP1l1/qGVuwi+xufIAcdFycLLBjSSNX7LOIK3tbva7A\nWctLUs+qhIlUrbPyFERm7YOY4SttWdozeYFNfg==\n-----END CERTIFICATE-----\n\nSecureTrust Domain Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E80B1BAF9870A7C4B6CBE401A32D68\n-----BEGIN CERTIFICATE-----\nMIIEfzCCA2egAwIBAgITBvHsAOgLG6+YcKfEtsvkAaMtaDANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowfDEyMDAGA1UEAxMpU2VjdXJlVHJ1c3QgRG9tYWluIFZhbGlk\nYXRpb24gQ0EsIExldmVsIDExFDASBgNVBAoTC1NlY3VyZVRydXN0MRAwDgYDVQQH\nEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjRHBw8iIivBBrfE6HqexQK0oMt2Y/\nx8jO3fN96KEazZwEoGidwloRBk2Q7VfVvZ0ZDk+qwJZGLZJLS1ntGaZLH4/Iel+r\nPnp36IVF7J5MNDB+K81a/y9svEMfDu0p3FdlBUyhHvizZ/zFNP3tolmQfZ7T0mGL\n7lutlNAzFYoVTUlVeF5cSC8Yca906TEKyizYXuXcY8Diee+t+fQRHmSI5Hk5kyXD\nYFWcf2tXEfdkuFlDjJ7HPdFyfJzrNjD+cbqt8R5rZKnK1GNVP1dXm0cIYS+BMlMa\nCC1yF18oygbnOZLw5fDv9bxs4MOgF8E/Iypw0hLQHVkuD8wAvxVgPsqvAgMBAAGj\nggEsMIIBKDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjATBgNV\nHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQUYt6tehfefLfDfCMXo7Em5UbXOvQw\nHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wQQYDVR0gBDowODA2BgRV\nHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMuc2VjdXJldHJ1c3QuY29t\nL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9T\nVENBLmNybDA2BggrBgEFBQcBAQQqMCgwJgYIKwYBBQUHMAGGGmh0dHA6Ly9vY3Nw\nLnRydXN0d2F2ZS5jb20vMA0GCSqGSIb3DQEBCwUAA4IBAQAHXPYhl+++o//di2Qm\naWGmC1ijxbGbKA4jOSDRvQfxlWOVkqPF11Dpxz+V8Rxw7QFFVoJ5mHpfoXtQOijV\ntsCFknxTKgzQeArNkZrkXBNpYOJAcuc5v0eX0OllBWgVdIvZRl2TM5L/u1WFrlPr\nqwWdEYTkinQwgAHXVV/7WZi6c4StcqNnlw93mlvN6Vspzaf/mWtcYp+aqT9vrqHt\nyNR1k8Ri5eIRPIU0B8woiXTj3bifLg6/O217SY5cWwQKCMFsa6nGWoRVCJ0JJXa0\nZ+m3mPQD2OcW5YMrynhL2VWohyfZAjB8l/NZaeRT7M+vki56fxbx3Bk2lqy8Z1Zz\nWd5m\n-----END CERTIFICATE-----\n\nSecureTrust Extended Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E31E46D341B2B2633CE480D915F81D\n-----BEGIN CERTIFICATE-----\nMIIEizCCA3OgAwIBAgITBvHsAOMeRtNBsrJjPOSA2RX4HTANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowfjE0MDIGA1UEAxMrU2VjdXJlVHJ1c3QgRXh0ZW5kZWQgVmFs\naWRhdGlvbiBDQSwgTGV2ZWwgMTEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxEDAOBgNV\nBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANS6vRtFpCJBJ7zJODH07Y3k54Qn\nVIBhnQmmWoqFqzCVMX97GAyAfzjcQrhl/TNiJiRCrVQWPI4n0R8eUd91Ab1Qzfsr\nnp+0NRbagVDa6+nF0KcNxbSZ6/iZQ7Ac3HyhCvJS2rH2CVYlzqdsrxDXcZk69jOO\ndPV8+w+7eNIn34BKpB/ZF7iXApDoAKG81kg1VtpGOxJhxTsKLuJmURT4pQjtZqF+\nF6rN64j5T2DOK0gOA4G7BLoTdOQuXkPS38LXKgZ43lKqEenjmiOaMF/XuLYzaHrW\nGYgCM2wJsykgdB9hCsTTEwsHRZzt2q9mLBDvYYWVhql1/kR4K/RN4JdESEECAwEA\nAaOCATYwggEyMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMB0G\nA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAdBgNVHQ4EFgQUA6uAxlUKKpWh\n4Nf+GubAynjMsJYwHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wQQYD\nVR0gBDowODA2BgRVHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMuc2Vj\ndXJldHJ1c3QuY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1\nc3R3YXZlLmNvbS9TVENBLmNybDA2BggrBgEFBQcBAQQqMCgwJgYIKwYBBQUHMAGG\nGmh0dHA6Ly9vY3NwLnRydXN0d2F2ZS5jb20vMA0GCSqGSIb3DQEBCwUAA4IBAQB1\nfzAmGGmtbJyIvOfjq2McCpUoYkXAq6JTN51+nb9NDAihhDoTKMde+801bC1/l54h\nxPPm4HImM6GK6LFckDew/FGwbdRbEznUOJ7uVL5ploNBIjte23kTBUZa9fx3+aXK\nhUTAipSyPtNjnOwVVBVXzrMynfMhdsyRRe7gLXNFYCXIxtks3IkIpuYnc86NAuV9\nnBLFlZzgmbAsW+tMc5QsNvQJ9pQ539K8cqZaM+HFCScreDERxmNtHHbMw+hCa2yL\nOj4ntekgWLO8KQbE0lPUNLIM17QK8aktJavj+GezBztKMmJJwhVYQy9nxS388ApX\nxcZsEgIzOCeH0SOWg4FA\n-----END CERTIFICATE-----\n\nSecureTrust Organization Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E58E9ADD372C871D25843FDAB852D9\n-----BEGIN CERTIFICATE-----\nMIIEkDCCA3igAwIBAgITBvHsAOWOmt03LIcdJYQ/2rhS2TANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowgYIxODA2BgNVBAMTL1NlY3VyZVRydXN0IE9yZ2FuaXphdGlv\nbiBWYWxpZGF0aW9uIENBLCBMZXZlbCAxMRQwEgYDVQQKEwtTZWN1cmVUcnVzdDEQ\nMA4GA1UEBxMHQ2hpY2FnbzERMA8GA1UECBMISWxsaW5vaXMxCzAJBgNVBAYTAlVT\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4QVBCdYToXFIfzd1SQfi\nTEgg1bwHXM2cE2VsyxwWK8NEFH8zMYdKy2hYOAjbfpm0xE6q4TQzS8KL2vAtCNyY\nVrwX7d3IvKR25H5s1LUDeQXSl1JBBZCtgJf2caJcwaYa6n2pZ0EKt3wBB+QteSFn\n57ENB37T13y7Nn8gCt9ZZaPYqRWxHcPaIWO3CVzQZ3tXjCLqzJMCV2KqhK85DZk3\nwo33Zb6cyYDkerDbWyric+10dJ/wdgE49dkfyZxVxEGpHg1SCSJdHjGb4z85Zx/u\neBpxBS6g3dfrkDjjT3MUxyNS4EaRTZp7o/2EqVCYDWJDM1HcOZL64kyWyi0d9jqA\n7wIDAQABo4IBNjCCATIwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMC\nAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBR/QuNI\nbljpLrlhyGp3tPcDuM1qWjAfBgNVHSMEGDAWgBRCMrYW+gT9/l1LesP990xAHVpD\nrzBBBgNVHSAEOjA4MDYGBFUdIAAwLjAsBggrBgEFBQcCARYgaHR0cHM6Ly9jZXJ0\ncy5zZWN1cmV0cnVzdC5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2Ny\nbC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMDYGCCsGAQUFBwEBBCowKDAmBggrBgEF\nBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbS8wDQYJKoZIhvcNAQELBQAD\nggEBAIwGM/ejz4Hbjf7Vc11gS8jzf+BwtZq9N4t1Nibj4rIDsW2G2jDE0S7fCN2m\nMhq76xkfnwfXhBbXDEKz6rj/M0G2u1kHw4Y8ZtKSzYEyRtgpeBFm4qU6voCSREpD\nFJXsL+Go2/YLRSE6xkWVSocklxppx4hi5o/RVdMMQept6ooOSFzBpH5XZYUoblKi\n99Yj0FUe8egIa9qSts42TObTpH1YVRMDnH3k2MNX3rcgPf9v/QO9Cf8W6RQ2+X3R\nCaYMPdL5OIKh4RGYjxXe3LpgiTKBWik/ZWTFL5sZSjetrJFl50NONzTc8E+BJtrx\nVCHAI2OcWyloxrYd4zMipw0YjDw=\n-----END CERTIFICATE-----\n\nTrustwave Domain Validation SHA256 CA, Level 1\nSecureTrust Corporation\n00DDEDF6F64298490E694C36EFA422C88F\n-----BEGIN CERTIFICATE-----\nMIIE7jCCA9agAwIBAgIRAN3t9vZCmEkOaUw276QiyI8wDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNDEwMDExOTIyMzJaFw0yNDA5\nMjgxOTIyMzJaMIGvMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE3MDUGA1UEAxMuVHJ1c3R3YXZlIERvbWFpbiBWYWxpZGF0aW9uIFNIQTI1NiBD\nQSwgTGV2ZWwgMTEfMB0GCSqGSIb3DQEJARYQY2FAdHJ1c3R3YXZlLmNvbTCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNr4Z91k7AKM+Pz5XXWTIuVeMts\nPU2W/pI4WdEHG9Zab1EOWPLbthB6fzUJLLLBBk1wy2OM9yG1HywB/CwfGHcoKS8Z\n/efGV+ZKTzEpIestriUWx7wUnzxKzGML48Xv7sNuY1Crru5Hgce1Ax5uOfP7OB6t\norbMunvKQC10WcSrqFg6LapZ0UhgGmQzdjYguOBF6WZJR3QLghQaNrSUZuA6neXR\ncUsBgmzrxiEVHyzt+lmnYFMFvKVwGOyIZ2RU2LAFthS6UDDrSLGsJysxc1MK1Sti\n/VP8e8wj9rJdmiWNfA+lz6hDAPzRbv+WVJNoHEGbIx8rai+rVMiLy2HIbPsCAwEA\nAaOCAWkwggFlMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFPQc4jqvtqTk\n2emd/u8cd6VjPe+IMA4GA1UdDwEB/wQEAwIBhjBIBgNVHSAEQTA/MD0GDysGAQQB\nge0YAwMDAwQFAzAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9TVENBLmNybDBsBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9v\nY3NwLnRydXN0d2F2ZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9pc3N1ZXJzL1NUQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMB8G\nA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0GCSqGSIb3DQEBCwUAA4IB\nAQAjoDrTysopn7t+onDZ6rZSQW8rYlWZQpSiNHrq9xAAcMExrhcN0bQC9OQ+VRci\noMDascvwum7hVkyh2w2Ad7lC3Ir9gIuA8HycjqQJ4t1eSF3geYyf8lp259ztZ/TO\nxSAwJ9W0Szc8fslOA0SWlyA3lnRVcYVu54Idc1dPXXBxwlQ1NUCYgcsXZs+6QjLL\nYhYL85DhuitQSddoYemGpfVJnaYH9tBiWmwtzwc4qsVqTsKEJ/1zYAy2GrEAv8sB\nFKSfMNMopBmmDA8/aCIW/tH6KTD2DC15QQwL6yAUbSa5mhzFSA9O8zmF881YwBVG\nn+z3isMPClgpNw/eWSbaSLZ+\n-----END CERTIFICATE-----\n\nTrustwave Domain Validation SHA256 CA, Level 1\nSecureTrust Corporation\n390A3F7EECA8FB4347DCAF701861662B\n-----BEGIN CERTIFICATE-----\nMIIE/zCCA+egAwIBAgIQOQo/fuyo+0NH3K9wGGFmKzANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE2MDkwMTE0MzUzMloXDTI0MDky\nOTE0MzUzMlowga8xCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMTcwNQYDVQQDEy5UcnVzdHdhdmUgRG9tYWluIFZhbGlkYXRpb24gU0hBMjU2IENB\nLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs2vhn3WTsAoz4/PlddZMi5V4y2w9\nTZb+kjhZ0Qcb1lpvUQ5Y8tu2EHp/NQksssEGTXDLY4z3IbUfLAH8LB8YdygpLxn9\n58ZX5kpPMSkh6y2uJRbHvBSfPErMYwvjxe/uw25jUKuu7keBx7UDHm458/s4Hq2i\ntsy6e8pALXRZxKuoWDotqlnRSGAaZDN2NiC44EXpZklHdAuCFBo2tJRm4Dqd5dFx\nSwGCbOvGIRUfLO36WadgUwW8pXAY7IhnZFTYsAW2FLpQMOtIsawnKzFzUwrVK2L9\nU/x7zCP2sl2aJY18D6XPqEMA/NFu/5ZUk2gcQZsjHytqL6tUyIvLYchs+wIDAQAB\no4IBezCCAXcwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU9BziOq+2pOTZ\n6Z3+7xx3pWM974gwDgYDVR0PAQH/BAQDAgGGMDIGA1UdHwQrMCkwJ6AloCOGIWh0\ndHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9TVENBLmNybDA9BgNVHSAENjA0MDIGBFUd\nIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9zc2wudHJ1c3R3YXZlLmNvbS9DQTBs\nBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnRydXN0d2F2\nZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9pc3N1\nZXJzL1NUQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFEIy\nthb6BP3+XUt6w/33TEAdWkOvMBsGA1UdEQQUMBKBEGNhQHRydXN0d2F2ZS5jb20w\nDQYJKoZIhvcNAQELBQADggEBAFcdG0/3P/CkeGb76tz/mn1viDZiftD05i9Jw70k\nH9ulRwdCHgzhSZVN5zHvG919oHA9WHbxH04J+iAnVl1+FjoDNN+A+2icy2WXqH9w\ngaNUGyUwLdo0JCfgUeGbrCF6WUYCj47pS7zAY02CdGlstZZsqouXK3RnOMKOD3Dq\nf5kiSh56KvhW/F0OZY7PAbdV79LVAiSTiAFdoe/jMjmj8fqXOiCIjllqH/O9/DAm\nRwQStFpauwR+nBbFhq4sYwlZQvJ0NvIxN5JOTECTkMM+X21kf8mrwRdxBfw0YEPa\nUTeZhFr48Fwvnt4jpo7gqpJzt7jjsbWPd1FHtey2Q8zmSHY=\n-----END CERTIFICATE-----\n\nTrustwave Extended Validation SHA256 CA, Level 1\nSecureTrust Corporation\n00C1BD27B383958D0D8BCA5E4F08D009D9\n-----BEGIN CERTIFICATE-----\nMIIFGDCCBACgAwIBAgIRAMG9J7ODlY0Ni8peTwjQCdkwDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNDEwMTMxODE3MzlaFw0yNDEw\nMTAxODE3MzlaMIGxMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE5MDcGA1UEAxMwVHJ1c3R3YXZlIEV4dGVuZGVkIFZhbGlkYXRpb24gU0hBMjU2\nIENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAre9mHLqiv689FWIk7PaeQLuW\nos8ldRX4rNLHeD7/X7JrTfaXuIQaLfrUODtyRaZs0LtJsEHgpr7dUonDIH69PjBP\nrHg+hBLu7ob4udEx3J03NQSdnR/fqPY0ZMH2NP7e9TFSKKctZ/SmzA8jGclVmdiT\nGg1bTx6xgWuPWq9OprIQSgkP5NRe1GeTQ7U/E1zxLqaw6PeQWjESHPGeilyw0jr6\nqVyHM5ack9ps60sN3CKNGushyaQe3w2bYxRJ9RRH/sILCAmmTbjc/cXrGQMGdaYt\naiGnXbc45r39cqfbynZ71hPPNEtFbOdqk3C7I8vrhIHiKaAtFkTMRSWmHHk4HwID\nAQABo4IBkTCCAY0wEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU5eQkWRUy\nJ8kgs0ICbLDvMt6bIFowDgYDVR0PAQH/BAQDAgGGMGYGA1UdIARfMF0wDAYKKwYB\nBAGB7RgDADAOBgxghkgBhv1kAQECBAEwPQYPKwYBBAGB7RgDAwMDBAMDMCowKAYI\nKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwMgYDVR0fBCsw\nKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMGwGCCsG\nAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudHJ1c3R3YXZlLmNv\nbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMv\nU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB8GA1UdIwQY\nMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0GCSqGSIb3DQEBCwUAA4IBAQCly1p1\nrvcOlRS+ODBLb2kYHd4q+cXDl65X+IQ7hOlXg9dpa7CzSAGNNpzhyYMbE48mB/RE\nBXxbZkMzEhWPFj+4jdGNsmX0zjEWatJWsnNVxpA7hDR0iZssezu86oDQ/sbVoaXj\n0a5jB2cZsnMS5287CNDk5i+ImruhbMAYV9sadliXoDy3y01Sv+FLMx39C5UhYhWU\ngvoT9igbSCoc/DPOukEDqsnKMmDqTf3JzuFI1CbJcR6M8R1hAda4mZrxIdGcbT8R\nXp8JQ8Vuv/+plPMcAiZ2Bzed0hPVr5A1Mz8K8w9OyORGlRwjWS65jsr26bjMCcfj\npvuAANrc0Alu4nJC\n-----END CERTIFICATE-----\n\nTrustwave Extended Validation SHA256 CA, Level 1\nSecureTrust Corporation\n35962F305C5A0BEC400D4E9877528C65\n-----BEGIN CERTIFICATE-----\nMIIFCzCCA/OgAwIBAgIQNZYvMFxaC+xADU6Yd1KMZTANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE2MDkwMTE0MzUzNFoXDTI0MDky\nOTE0MzUzNFowgbExCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMTkwNwYDVQQDEzBUcnVzdHdhdmUgRXh0ZW5kZWQgVmFsaWRhdGlvbiBTSEEyNTYg\nQ0EsIExldmVsIDExHzAdBgkqhkiG9w0BCQEWEGNhQHRydXN0d2F2ZS5jb20wggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCt72YcuqK/rz0VYiTs9p5Au5ai\nzyV1Ffis0sd4Pv9fsmtN9pe4hBot+tQ4O3JFpmzQu0mwQeCmvt1SicMgfr0+ME+s\neD6EEu7uhvi50THcnTc1BJ2dH9+o9jRkwfY0/t71MVIopy1n9KbMDyMZyVWZ2JMa\nDVtPHrGBa49ar06mshBKCQ/k1F7UZ5NDtT8TXPEuprDo95BaMRIc8Z6KXLDSOvqp\nXIczlpyT2mzrSw3cIo0a6yHJpB7fDZtjFEn1FEf+wgsICaZNuNz9xesZAwZ1pi1q\nIaddtzjmvf1yp9vKdnvWE880S0Vs52qTcLsjy+uEgeIpoC0WRMxFJaYceTgfAgMB\nAAGjggGFMIIBgTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBTl5CRZFTIn\nySCzQgJssO8y3psgWjAOBgNVHQ8BAf8EBAMCAYYwMgYDVR0fBCswKTAnoCWgI4Yh\naHR0cDovL2NybC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMD0GA1UdIAQ2MDQwMgYE\nVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NB\nMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudHJ1c3R3\nYXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lz\nc3VlcnMvU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB8G\nA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMBsGA1UdEQQUMBKBEGNhQHRy\ndXN0d2F2ZS5jb20wDQYJKoZIhvcNAQELBQADggEBAGUMIDkrvlMJ0wHLuP3lkneC\nwGU6mZ3g17jyU2RJwhRinYctraryG7Jh20DQ9/ppTHoxTIADw2JDsC5ByplabteQ\nnLghrl17K1b6PO+rzWA/NFKVwo6u8Gh7Lz0iUuit7ZBD4eKcRedxRZcPQlnD9KTR\nIs94SRpootsuCv/Y5b+1FMPV1KrYtbco9yEVlaNEWLpmiEsqvLjxiWEmt71rzz+0\nS59OtA/ihnbGP9Xrnhe7wf1ybCNOO5gZQMKr/OszfLZ7oVKACGOPLlcSZRRW98gA\nszE+1ZvlHkdjamfTSs4yMvUorYn9NhXnjAWl28NuD9m3FPiE2O50ezEDnHTiaOQ=\n-----END CERTIFICATE-----\n\nTrustwave Organization Validation SHA256 CA, Level 1\nSecureTrust Corporation\n4B2C6646F434775B67DF34A04DD504E6\n-----BEGIN CERTIFICATE-----\nMIIE/TCCA+WgAwIBAgIQSyxmRvQ0d1tn3zSgTdUE5jANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE0MTAwMTE5MjIzNloXDTI0MDky\nODE5MjIzNlowgbUxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMT0wOwYDVQQDEzRUcnVzdHdhdmUgT3JnYW5pemF0aW9uIFZhbGlkYXRpb24gU0hB\nMjU2IENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29t\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA49OohlJHBJ/juiQTmibO\nS28pHvCCp1bPOc6elQ62DCYE/A14JXUtI8yaUc9nFjh6dNzR7KjFPEq/qDplQl7f\n1Tvh5ifBNNP2wQ6e820TWlPO4HhR/5g4+3iFmJ1N7kFrxDp1/P8e3+9lcJsXckXC\ntfFkQ9slogJqnaCsipgdrH4gQhicFAL5YqHw2AKfctZLSPpxhI3xISMV/lIQwZPW\nI2221v9ALckokh5pW6dTK8x8yNUUye1zt5msWzqunfBjVYVUj5/LXu46hS99Mfxu\n80ARJRyHsXIuHbMzwVXGqKVPZfKAdHBl5e3ElCjNwNy+Hgi09vS7PoAUhjCf/wbO\nnQIDAQABo4IBczCCAW8wEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUys4d\nGAN3HhzzfFiymnCoCIAW9K4wDgYDVR0PAQH/BAQDAgGGMEgGA1UdIARBMD8wPQYP\nKwYBBAGB7RgDAwMDBAQDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0\nd2F2ZS5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdh\ndmUuY29tL1NUQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0\ncDovL29jc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50\ncnVzdHdhdmUuY29tL2lzc3VlcnMvU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUH\nAwIGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0G\nCSqGSIb3DQEBCwUAA4IBAQBN/Qb6x5VSQHIt/FqvXAkjfCI7jwXGzRoxThavUqv0\npJr1azXKv2L2ye9Sl4OCqiDHZ8ZJZ/Z19Ae1yvGTpG++0O5dWTHZ8qy/JSj17Mg1\nvWiefVpJKtkYflzhC9B9/eB3QuKVTRKDqm1ZC9kbm3MWOwtnEOw4WURWS1X2v4Hv\n2AJaXe11ZRqjx7/c6U50tYp3eVpRDCw7bOIXRffLG0oibhjHiEu8dgq7KkTSrx9m\nQFS6T2x9GLiJKhj2mEfPuGr73TfBPyKsRBymOpG67LThKVnwoUfH3pghA6VkZp5Z\n1Vm6AcDm+eelf5XPvZtNve4evLVPYueA3TmGyxXh1m2d\n-----END CERTIFICATE-----\n\nTrustwave Organization Validation SHA256 CA, Level 1\nSecureTrust Corporation\n0092B8744F71CED0E26C72A3D8D5D925B2\n-----BEGIN CERTIFICATE-----\nMIIFEDCCA/igAwIBAgIRAJK4dE9xztDibHKj2NXZJbIwDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNjA5MDExNDM1MzVaFw0yNDA5\nMjkxNDM1MzVaMIG1MQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE9MDsGA1UEAxM0VHJ1c3R3YXZlIE9yZ2FuaXphdGlvbiBWYWxpZGF0aW9uIFNI\nQTI1NiBDQSwgTGV2ZWwgMTEfMB0GCSqGSIb3DQEJARYQY2FAdHJ1c3R3YXZlLmNv\nbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPTqIZSRwSf47okE5om\nzktvKR7wgqdWzznOnpUOtgwmBPwNeCV1LSPMmlHPZxY4enTc0eyoxTxKv6g6ZUJe\n39U74eYnwTTT9sEOnvNtE1pTzuB4Uf+YOPt4hZidTe5Ba8Q6dfz/Ht/vZXCbF3JF\nwrXxZEPbJaICap2grIqYHax+IEIYnBQC+WKh8NgCn3LWS0j6cYSN8SEjFf5SEMGT\n1iNtttb/QC3JKJIeaVunUyvMfMjVFMntc7eZrFs6rp3wY1WFVI+fy17uOoUvfTH8\nbvNAESUch7FyLh2zM8FVxqilT2XygHRwZeXtxJQozcDcvh4ItPb0uz6AFIYwn/8G\nzp0CAwEAAaOCAYUwggGBMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFMrO\nHRgDdx4c83xYsppwqAiAFvSuMA4GA1UdDwEB/wQEAwIBhjAyBgNVHR8EKzApMCeg\nJaAjhiFodHRwOi8vY3JsLnRydXN0d2F2ZS5jb20vU1RDQS5jcmwwPQYDVR0gBDYw\nNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5j\nb20vQ0EwbAYIKwYBBQUHAQEEYDBeMCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC50\ncnVzdHdhdmUuY29tMDUGCCsGAQUFBzAChilodHRwOi8vc3NsLnRydXN0d2F2ZS5j\nb20vaXNzdWVycy9TVENBLmNydDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wGwYDVR0RBBQwEoEQ\nY2FAdHJ1c3R3YXZlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAC0OvN7/UJBcRDXch\nA4b2qJo7mBD05+XR96N7vucMaanz26CnUxs1o8DcBckpqyEXCxdOanIr+/UJNbBL\nXLJCzNLJEJcgV9TjbVu33eQR23yMuXD+cZsqLMF+L5IIM47W8dlwKJvMy0xs7Jb1\nS3NOIhcoVu+XPzRsgKv8Yi2B6l278RfzegiCx4vYJv0pBjFzizEiFH9bWTYIOlIJ\nJSM57hoICgjCTS8BoEgndwWIyc/nEmlYaUwmCo9QynY+UmW1WPWmVITEJPMdMK6A\nZqvvaWmuHJ6/vURaz+Hoc5D3z0yJDDCkv52bXV04ZoF6cbcWry7JvNA+djvay/4B\nRR4SZQ==\n-----END CERTIFICATE-----\n\nSecureTrust TWG Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C25181828DAC4F5F7DE4AFC87AD132\n-----BEGIN CERTIFICATE-----\nMIIG2zCCBMOgAwIBAgITBy8w6cJRgYKNrE9ffeSvyHrRMjANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMjAxMDA4MDY0OTQwWhcNMzAxMDA4MDY0ODQwWjBWMQswCQYDVQQGEwJVUzEUMBIG\nA1UEChMLU2VjdXJlVHJ1c3QxMTAvBgNVBAMTKFNlY3VyZVRydXN0IFRXRyBTZWN1\ncmUgRW1haWwgQ0EsIExldmVsIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\nAoICAQCcD5Wc7H480gOv3ae6SELBls0oNOvpw1ZFjK55nLw+W6PhgqTGNEHlO/Ga\nWt13yS1iO1/WzRaUc2XsFRGcjv3QIfDZb+6UzhL1LL9ZE8zcs0B6fepn4smQg1yK\ngtAWGoD70Z9kEBtypkG23sO5xIiRACJWgRWVZ/891pQBBz+ElCxUnIyDGghHlWCD\nzn5dLoBIVic69Pfpi384uNoNfHV/WATUQEEnwY+5yMMUALAWrRD6Jeh5R4m9qKxG\nUlrO9ObDebK9mFEJvrCPtkTIWT1He4ZD58Lt0NIkaItQ7KsKF9wgwH7BTsRGwQXb\nP6/0LvfO8UDRKNE/4C39u9dwUw/Zpu2iNXTadVWBtaSDsrPFVb5rBu+pvn4l4Hw5\njtySyHAOWn4mhuxDXMuKBtaoTi/qF94d7N0CbqPdN9WSN79Cy2O0BexTGHSJVndX\nEbKyn96b5STPshKVpG9DmUekfnDtnHR9dmH74a05X/A8k/XeSJWXphM6NvyZap2A\nWiIkrS7MsfwnCdZlX+9WGY2qHxnm4Y6JdNah0qxozBbQHkqHsSN4k8O7zr2lfZhC\nuarm0Q1t6tjsmp7PUh26u6PCe0m+MctIrD6ZckUzZeuPduRb55K2p8MxjQSVNH1S\nJ2aaHp77qOYV+rvHXIL7le4OR5lDWyzYtXLc8u17/kLbUtgnmQIDAQABo4IBbTCC\nAWkwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAww\nCgYIKwYBBQUHAwQwHQYDVR0OBBYEFKpD9MNsQCriSoEcg6nez7XhG7bOMB8GA1Ud\nIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6HMEEGA1UdIAQ6MDgwNgYEVR0gADAu\nMCwGCCsGAQUFBwIBFiBodHRwczovL2NlcnRzLnNlY3VyZXRydXN0LmNvbS9DQTA1\nBgNVHR8ELjAsMCqgKKAmhiRodHRwOi8vY3JsLnNlY3VyZXRydXN0LmNvbS9UV0dD\nQS5jcmwwdAYIKwYBBQUHAQEEaDBmMCgGCCsGAQUFBzABhhxodHRwOi8vb2NzcC5z\nZWN1cmV0cnVzdC5jb20vMDoGCCsGAQUFBzAChi5odHRwOi8vY2VydHMuc2VjdXJl\ndHJ1c3QuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQBb\ntCXryLFewOafyNENB3NzgAQVVztwaWSyvF5FYSqav95JKcoHZzy3wG7aKlTPtGnq\n1QzJst03qPmZJ3j63obz2AvfEEzLEMlsPmOTy3B9oIrNzd2QhpGW1oF6pIgGB/VP\n5zh7U2ibUC+zRLmihwt+j2+7NBbuLbPozgxDTWh2f9O4rJb5bv98Q8RdbGrypBb9\nhOhDvmNCCfjSe+Q8myqsvawEG5p7s8gsIK/V3xbyqDihXjsGc7xeEWNftlU91jBL\nKPRbrLmXhhWnHJjYs4y5IHu735HA3aAT4TqURS9dGHOMVDRumkFpLqR2W7ptpDki\nOtIFZjO5smU29OD4AlcNUXqQuKEFasyTtkRlORnWhU37c36HB8dc57xWQKOf8pMq\n7lK+ublO9G4mO1Aqr9mioTN4oMONFJG4W5dWwG9baNg682ZACkvPaw45MqSztL3A\nKb4s2cDTWu/D34hV3oafkTwu8B7B2mFZnWRJ9q4akPmZF45uw4RZx2ALaYGGGs67\n+r5qS300As9ONg8hxfVkFQSHOc00IiBkgi3OpoCofEKTgDwZwHVqOJyyPjk6H9Sh\nZANmUOT2mGDLwl86Ar5bTu8ipzlsyDYQMFjho7WaVs8I5OXyVdONXDYLIOtpITGT\n1fRcXFzxYHhrNuFwrdj2zBVyvVD4O6xV97/9nv2Eng==\n-----END CERTIFICATE-----\n\nTrustwave Global Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9AD30465CF22697F246B101EC92953B\n-----BEGIN CERTIFICATE-----\nMIIHCDCCBPCgAwIBAgITBs6C2a0wRlzyJpfyRrEB7JKVOzANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBjjE3MDUGA1UEAxMuVHJ1c3R3\nYXZlIEdsb2JhbCBEb21haW4gVmFsaWRhdGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UE\nChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAwDgYDVQQHEwdDaGljYWdvMREw\nDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQChh5brvvk/kFUZwhlUhqdsUmsMCBjzYqBBLnTyNrKPr4nd\nS9s2h2JvA+9TY7NnJc/Mq1eN5V6zqvbn/LN3c8W06f76xrVvFEKs5SzCefUS/V3Z\nC18dgwXXFrP+RgfK2kqfTHGIPrWoRSnUiLn3iUNEBtJ06oXjAqAMnAyL5AzD+eHm\nZzRK/yCw/gMPnVp2S7Dstka607fS4fW9Sl33mOMNwJRxEjQWHHR25PAb4muP6wjN\nvmoLMgiDMKseHSFVtC7SpmO89PsrUV6MahKJrZcAfquAyoO1zR2c2eGaCI/m8oSx\n3B7KiMZJ3NZims/siMp/5szemsutf36WJ31nmr7PqLJGJdVpoxbLckWIhZnNYSFm\n/pTutpNONqpyYC2gGSXdw5LuxU61913SbAPpk8DZiHi3WslHBo26ghXG++sgJUGj\nhtKZhiYlp8uD21WTP6/60wngpXyCtt9cpHxW1lXmqcxwe2J4/2S3xjHz1dC6BKxb\nr61HCPVrbTD90CZUpMI8JPdsVbz5eegv+SIyybHxZe4S0D9Kv5pgWfqdXf0BAiJC\nTbGwYmFr4uisKhkfMThyOgWEH+CRBzQqdZREQ5lTIlVyzi3jGPuu9Q6brAS9U9Ue\nQhUwX8TtY8Igfo8HlhjugDpy6WvDYQ9i+tG3AC6v8sJLdOOU83Lr+2C1LEF5ZwID\nAQABo4IBYTCCAV0wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYw\nEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFIaZQQzOP7aMcEnlkwfwhgcd\nLXqVMB8GA1UdIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6HMD0GA1UdIAQ2MDQw\nMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29t\nL0NBMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9U\nV0dDQS5jcmwwbgYIKwYBBQUHAQEEYjBgMCYGCCsGAQUFBzABhhpodHRwOi8vb2Nz\ncC50cnVzdHdhdmUuY29tLzA2BggrBgEFBQcwAoYqaHR0cDovL3NzbC50cnVzdHdh\ndmUuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQAmn0jp\n+lNp188KxjKQZtpJ3mixLmuqGdH6SVpRs40BYQg/68xOPH3C6AJ17tqE6IwZMW9s\nlgiO4B7khR3ESA6Sct3zmkA8woR/KJVzzegjscHhtQUifQ+Eb9Gi0ORNnetGV+5g\n5vlrFZMptBRGUxXMo2xa+Z/NTyimpMopfXj7qCW/nQWQbzvkQGchK9IokyqV2wra\ntX68/P3zleG+LLwzoJd5AhHYSXWrIRJpClZHN+LQKkbI3MYW7+upo/1e9HEmFKxu\n5SFV3nuQm5wSOsz/ZtIL1AS8IoZYxcSe1Q/yuV9GjnxtL1jkPbzsBx4eBGxUrcIe\nsBat6SI8G58uHTpIPpqUxRYsg8w0FdjK3kNBB5QWDeXiDxzqIRzA0iE1kHeTXRZ3\n7qgGXUcce7ciW5KqeRApjQbD5BSZG2EKkQ7aaOhvxK0LiuxHZnjPW4/fdEcaCuku\nMT5qMDiF2U85V9BvanEy/xkYn4I2UeK4EdSXe7q6j+CIJz9WnoLQDbIS04GqIWe0\nVRQUlx3idUWYSJU/SG8KrEHhlJLmgSjshCwtT6qo4vHwT5WcWDLIbjMqgL1iQ6JS\n4gxXuOGia3d0I4/wec5x23EWwx9V8BtDJ8N7NDeRNmZ8RXOHSYJsVQYIQuFUEXE1\nv3WMSIxuyQMyR5FYSCG9xnKRFzNmiPngDil5IA==\n-----END CERTIFICATE-----\n\nTrustwave Global Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D99FB3B180C281020314A2D1C7640017\n-----BEGIN CERTIFICATE-----\nMIIHFDCCBPygAwIBAgITBs6C2Z+zsYDCgQIDFKLRx2QAFzANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBkDE5MDcGA1UEAxMwVHJ1c3R3\nYXZlIEdsb2JhbCBFeHRlbmRlZCBWYWxpZGF0aW9uIENBLCBMZXZlbCAxMSEwHwYD\nVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xEDAOBgNVBAcTB0NoaWNhZ28x\nETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJVUzCCAiIwDQYJKoZIhvcNAQEB\nBQADggIPADCCAgoCggIBAMRO7orfWjfmz6Y6qoAmDp2lqCJcdvbRQ8w18rl1JE3j\nf/1CScZLrnLg4RDm8JiRcvFuvoMXn/XNUWy5ICG57tjG2nO7jvBuXfvbdkGA+foN\n3yJKMTX/PmmGlN4qpzFtsB0kLrP14/0TRGeJB7qDfAFH0ReFk0ftQobLBGBOpEca\n+bv+LhcTe40/uNUSK2yQ9GpIw200mcsD3B9c29Im4tSZFuA2o1vnEeizYW5M4sPX\nHu7p5ZCxjJrXVNqWUPM38rShhMUNL5uaVYWoi7TG5JXbg0Lmt2nq1k5nnig9Yp/W\nlAFooWXjKQzHf/z+XZ57bqPe7SzLW5pzpZdSmY2VRybAwEmzMjCXgHiP2ru3TpAD\n+giakPDoz3ZmbKjwYKZ5PmnOmXx0Z2GloO37MjamjPor/+fZohfyma7VAQE8znJt\nI9MVoRN3G3gW/tuT3jXfzYdFBlfGoO7OYyLN1LK5YBKH2qXrCHD8rG2DauBt7U+w\nfOvwfkp8FcdTnfQ92Xe65U3Xdu0eCgQJbChxZtWhhLnbY6xhmwAWyJ1my+Im72Kx\nGP/XcA8SH2sz6/k0782BjRckDuFpVVpTNYl9wqe/tuOrZhWPapOsRlfsDTuhgGu5\n2inM9sU3CAzmFE85zoRQFZQSof3kFN2rUZF20bmTak99cBNLli6/ja3+KntpZ08d\nAgMBAAGjggFrMIIBZzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIB\nhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFHM4IMZH\nbabGL3tQ4EDe3sedR958MB8GA1UdIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6H\nMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50\ncnVzdHdhdmUuY29tL0NBMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6Ly9jcmwudHJ1\nc3R3YXZlLmNvbS9UV0dDQS5jcmwwbgYIKwYBBQUHAQEEYjBgMCYGCCsGAQUFBzAB\nhhpodHRwOi8vb2NzcC50cnVzdHdhdmUuY29tLzA2BggrBgEFBQcwAoYqaHR0cDov\nL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEB\nCwUAA4ICAQBwnSHECaf+hfGrm3Cg+aRr57ytoOSzI1DjlTNcM7k4uSt6kJRPHJ4c\nldIujMaETV52RgE6ykaMGkuIwQOIsLI6SXwjU1f5gXFUbDTS3KTWc/jwQeyLmdOe\nhvc+wBSFv8d10Sx/Qiti8mqsTqr0+N94Cx01+SkiWxWWoSZOAPkz8DMQGlD4yndK\nceTMGtQ03cLnD/36Mv6tz/Ds9l/OExrJGGxHD0tmYwYwBZpPHm7BBY2ZzycVxLcg\n+uuggcX1pg5MhJ1rDyod+7X+ilvTgH7ftHCmxvR7viMLwSUuytZ05zb2teRQgU+8\niWnPEHO/ADm5VD1Zb5Rx0579/YEENBJtGUPPJzo+JEpiZIOIlwZ69ETWWNCLZr0V\nvoi+SDl65cr+dgR9JreJ2I4W9FzS45ruxYEC8LGKEmV46sAk1YLbnIBmhehAKy9t\nP8RVz3QXYJ6rLOAuXF7R2eVV0SqfivW9bVzvBZTUTFsbdSMBAAF1BJjdRqYR63DI\ncQASY7CRoUiak1NTgPkzeV8VcNJmUt8c2eKJIifqBAjquH6+6UXs9Ol0aMPn6v0y\nB+TSuxhX2sSrpna9QcOh/QyoR5Hvcd81rZSbMc7yasKoUMXviotV1SfEqs3RU5Ts\nwnU4NHPn5ITRiuh5VMuvB/VnjnPC953u5uqAGtZ8BkC7X9cu5E0rMQ==\n-----END CERTIFICATE-----\n\nTrustwave Global Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A69703AEFE5D37D18858C74026B004\n-----BEGIN CERTIFICATE-----\nMIIHGDCCBQCgAwIBAgITBs6C2aaXA67+XTfRiFjHQCawBDANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBlDE9MDsGA1UEAxM0VHJ1c3R3\nYXZlIEdsb2JhbCBPcmdhbml6YXRpb24gVmFsaWRhdGlvbiBDQSwgTGV2ZWwgMTEh\nMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAwDgYDVQQHEwdDaGlj\nYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3\nDQEBAQUAA4ICDwAwggIKAoICAQC8BzZtA3eWejFOGHc2DLgex6P471dLWIIHSlrF\nY4a2BCtzAd/VlpQ3gslWnTgthOmK2/hCc+WSaOLPVZzZf3lGnxbb0+Y87Kx+nS1m\nIfJ/4OR6o8XLMLoCTAI1jsWxggiB4NBMqsW2xXQ5VAvBb66KEQYbshNlRpTbtBFq\nEed4YIvCdjbnCUOy1zubgVHUVyCFHzN4XPjEQCtT5vZM576Lt10Je9COnqG0CtPU\nQNP2tjnSmOOYdWcVRZ0UqXUl2fMBfmSDHd8902foigjpP04AYYbq6AetqEgqdvQP\nxz5pVbZqzy8UrE/s/raJLFyTuIAYVt18M0whSgWzGgUWkq2xRqbfn7b1hd56dwRb\nR7pKc51FyTbeocnKlYLC+Dlzp7iKQ3Pb7WHRwLhaJB7u4CzwqhUxHc0xplMYsq92\nMbZ6WN5L5mI7hxY8gLMOR7vNX9CKz9XcYRS01iCDe5Y/9muW8bzGyNXLX1YaHAy4\n+6ncksb3Y3RUKj3f0+T4nbiRISmGazravJKSssBLP3kPa9h5aX+Vd00eL+Q7sXrh\nFO7xz+oWtOL5rfVszyc87JQvjw1sDHA710nViqzUE1bJZNe61EXdCb/RV+Wsu+rO\ncAMSr5x2j/wW875sh+U3EJmTzdEBUBxHnBD2mDTyonT7wL47TRXTEO1IaS4mVbnv\no0jWvQIDAQABo4IBazCCAWcwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E\nBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBS3\n/VNzOCaKcKuTyoupCOrH07fj/TAfBgNVHSMEGDAWgBSZ4BlnDWLbdrPaPbhb6P1C\n0jEOhzA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9z\nc2wudHJ1c3R3YXZlLmNvbS9DQTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js\nLnRydXN0d2F2ZS5jb20vVFdHQ0EuY3JsMG4GCCsGAQUFBwEBBGIwYDAmBggrBgEF\nBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbS8wNgYIKwYBBQUHMAKGKmh0\ndHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9pc3N1ZXJzL1RXR0NBLmNydDANBgkqhkiG\n9w0BAQsFAAOCAgEAFXwfmELpEGKUguzVTMix79XbUnkfLa7IXcqBOrwOWEF1V8F1\nxGY6jLlUTtoEXRYZwCpqOK/i4m4nmWCYE45O7URR8nqeFffceTi62t4Yvh6LkC9g\nUnj3aChLiO/Zdxilq6vfsXO0mKafrGtZXwjyskS250Pj9DsANs57QqvYN4hqbplJ\nzc95p09OUvEhPiyRyx6FyY28U+3X6+mSNMJWd4Nhr+3HtvmItLIXP2JCLxuYtu/K\n6nKcpFCFFKeF8K3PWpjsAb0hfXL4vc3WfyCYsQnvJeisyAh7yEuge2iDwl1/xXIo\nEOAyyYAxvy5UnzcAa0Z2lwjptve+jZ4gQ+A1ioYUavR3pSfBNzuJW30nZCWFadKc\nNXOPoAPkK8JLxgRBH3JboeBCXG6xgy/pXrTjyhW7/SS+Z+7eKkp9jgdTVQ12yUtc\nCiYWUuM4l240D/z+s03WOEcLTluESwFkJhzs3D9i5crTL72uSkDDmlh8HXoPAyYO\nl3Mn9cGWhd8M8IeQRXmb6O7gvvQZDoSXDVDbjBKcW1lFpi0wBxIBzLaOi4CX4OhI\nJHJ/H3duOMaltuzXLSLkc26jwHzMeq8seQRSXraXJi1t5oBKlmEWFEgq6xlH7mLW\n3TOqS19cuiSWl/CsnlLGaW8MH5YHmk+MJxQE1BcLBs6ciapvHlhLEd9EUpU=\n-----END CERTIFICATE-----\n\nSecureTrust TWG ECDSA P-256 Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C4627001DECFEBF6BF5D3B1066D7E3\n-----BEGIN CERTIFICATE-----\nMIIDbTCCAxKgAwIBAgITBy8w6cRicAHez+v2v107EGbX4zAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMjAxMDA4MDY0OTQxWhcNMzAxMDA4MDY0ODQxWjBiMQswCQYDVQQGEwJV\nUzEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxPTA7BgNVBAMTNFNlY3VyZVRydXN0IFRX\nRyBFQ0RTQSBQLTI1NiBTZWN1cmUgRW1haWwgQ0EsIExldmVsIDIwWTATBgcqhkjO\nPQIBBggqhkjOPQMBBwNCAAT4KazLm94aiykBGkNQVkBrjmK77RlP627D2n3EwK3s\n49ljRkN6wiTWXHx3jPD5BBE/7mWhGWnphzGu1Deb6yzco4IBdTCCAXEwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUH\nAwQwHQYDVR0OBBYEFHMQ2nwjQr8tFHfBImxM7ct8lbBYMB8GA1UdIwQYMBaAFKNB\nBqyQbdFK63WlShCZs7Ghi0r3MEEGA1UdIAQ6MDgwNgYEVR0gADAuMCwGCCsGAQUF\nBwIBFiBodHRwczovL2NlcnRzLnNlY3VyZXRydXN0LmNvbS9DQTA5BgNVHR8EMjAw\nMC6gLKAqhihodHRwOi8vY3JsLnNlY3VyZXRydXN0LmNvbS9UV0dQMjU2Q0EuY3Js\nMHgGCCsGAQUFBwEBBGwwajAoBggrBgEFBQcwAYYcaHR0cDovL29jc3Auc2VjdXJl\ndHJ1c3QuY29tLzA+BggrBgEFBQcwAoYyaHR0cDovL2NlcnRzLnNlY3VyZXRydXN0\nLmNvbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwIDSQAwRgIhAN8G\nPwKUpMgV3LZjq7fuKS96f15BrwBjmTlKhOwgX83BAiEA9WpWhzRRoKeJGAqqXrMk\nZ8RE9xRtOFBqYdv9H5CeTVk=\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9AF531423847B85FB677932AAF80508\n-----BEGIN CERTIFICATE-----\nMIIDmDCCAz+gAwIBAgITBs6C2a9TFCOEe4X7Z3kyqvgFCDAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBmjFDMEEGA1UEAxM6\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBEb21haW4gVmFsaWRhdGlvbiBD\nQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAw\nDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMw\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWpfTIQFPkZIoXXMDN9utRU+AbLGcg\nBmLA06x2qqdcpCMlYFoJhuRWzYCiqz1mKrAvNlQYkgoHfemk92sf8iaro4IBaTCC\nAWUwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAww\nCgYIKwYBBQUHAwEwHQYDVR0OBBYEFA/DUGGZflb1xtmcOeiDWJAHuhq0MB8GA1Ud\nIwQYMBaAFKNBBqyQbdFK63WlShCZs7Ghi0r3MD0GA1UdIAQ2MDQwMgYEVR0gADAq\nMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NBMDcGA1Ud\nHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9UV0dQMjU2Q0Eu\nY3JsMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0cDovL29jc3AudHJ1\nc3R3YXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNv\nbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwIDRwAwRAIgICvA5ttD\n0oeUcd37iYvoQ7iMIpZINp4e1j5NrlI3UnYCIEZhimm9+1dUWAfx9ZkGmIu0HiHR\nzEZifAHbPM3SJbRu\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A20A3797CD878EB3DAA41D08680AF7\n-----BEGIN CERTIFICATE-----\nMIIDpjCCA0ugAwIBAgITBs6C2aIKN5fNh46z2qQdCGgK9zAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBnDFFMEMGA1UEAxM8\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBFeHRlbmRlZCBWYWxpZGF0aW9u\nIENBLCBMZXZlbCAxMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4x\nEDAOBgNVBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJV\nUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKXHfFxFDVI6uYWZlWciFFKtYzuJ\n+IBhot3PQGikE3sjU8d9dARkZCkInqmDyP/+XiLzgrYPMy7NS8lZcRsE5p2jggFz\nMIIBbzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUE\nFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFAwlVqqzYgakv+7gGxtX\nzC8s9g1QMB8GA1UdIwQYMBaAFKNBBqyQbdFK63WlShCZs7Ghi0r3MD0GA1UdIAQ2\nMDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9UV0dQMjU2Q0EuY3JsMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0\ncDovL29jc3AudHJ1c3R3YXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wu\ndHJ1c3R3YXZlLmNvbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwID\nSQAwRgIhALahroq1NScrFeCvG5uMgMKH/bo190D+Mkh2ZIojrUOfAiEAosFXFE73\n0WLRPjX2uOkLhXuA4cQEb1R1oeGDH4MNVOo=\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A8B57C104843994DACD79E28633E5F\n-----BEGIN CERTIFICATE-----\nMIIDqDCCA0+gAwIBAgITBs6C2ai1fBBIQ5lNrNeeKGM+XzAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBoDFJMEcGA1UEAxNA\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBPcmdhbml6YXRpb24gVmFsaWRh\ndGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMRAwDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UE\nBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQmHWo0mogvX1J61xysTqsn\n6qV06wxUH68/QJ2aDIka6beTrDoTZv3mIkyPxFTPy+9idjgSAERlBsDirgO2/NiY\no4IBczCCAW8wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwHQYD\nVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBSv+Ju8XTSl3tA+\nFCldDY4lrbClhTAfBgNVHSMEGDAWgBSjQQaskG3RSut1pUoQmbOxoYtK9zA9BgNV\nHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9DQTA3BgNVHR8EMDAuMCygKqAohiZodHRwOi8vY3JsLnRydXN0d2F2\nZS5jb20vVFdHUDI1NkNBLmNybDByBggrBgEFBQcBAQRmMGQwJgYIKwYBBQUHMAGG\nGmh0dHA6Ly9vY3NwLnRydXN0d2F2ZS5jb20vMDoGCCsGAQUFBzAChi5odHRwOi8v\nc3NsLnRydXN0d2F2ZS5jb20vaXNzdWVycy9UV0dQMjU2Q0EuY3J0MAoGCCqGSM49\nBAMCA0cAMEQCIGa3JyBYlXxRN5GIIulLaDxnANNRnY4j1Et166CCC5h+AiAVUlzJ\nIJTfUDBU7jnSTKSw/F+bLIPvaC6frMZv0h+RTA==\n-----END CERTIFICATE-----\n\nSecureTrust TWG ECDSA P-384 Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C58D91DEF98A7F9EB2666CFE7BE1EE\n-----BEGIN CERTIFICATE-----\nMIIDqjCCAy+gAwIBAgITBy8w6cWNkd75in+esmZs/nvh7jAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMjAxMDA4MDY0OTQxWhcNMzAxMDA4MDY0ODQxWjBiMQswCQYDVQQGEwJV\nUzEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxPTA7BgNVBAMTNFNlY3VyZVRydXN0IFRX\nRyBFQ0RTQSBQLTM4NCBTZWN1cmUgRW1haWwgQ0EsIExldmVsIDIwdjAQBgcqhkjO\nPQIBBgUrgQQAIgNiAAR4nTJ6MvtPBb7+L3tklhdDw0tr5FNY5Q1hsp6NR5OzZVeG\nx/X3VrCvkOsae1OEZHNqWCnnI1s/ix9qn/2+q0pPpXrT6wkN/HOQzpQaJWzCF7yX\nIfIB0o+x1Pr17UOX2qGjggF1MIIBcTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1Ud\nDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDBDAdBgNVHQ4EFgQUJd3xyUp6\n6EP6L9hCmkRrWAcU2mwwHwYDVR0jBBgwFoAUVamEidLBMr0Yy2ymB07I552+gpAw\nQQYDVR0gBDowODA2BgRVHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMu\nc2VjdXJldHJ1c3QuY29tL0NBMDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu\nc2VjdXJldHJ1c3QuY29tL1RXR1AzODRDQS5jcmwweAYIKwYBBQUHAQEEbDBqMCgG\nCCsGAQUFBzABhhxodHRwOi8vb2NzcC5zZWN1cmV0cnVzdC5jb20vMD4GCCsGAQUF\nBzAChjJodHRwOi8vY2VydHMuc2VjdXJldHJ1c3QuY29tL2lzc3VlcnMvVFdHUDM4\nNENBLmNydDAKBggqhkjOPQQDAwNpADBmAjEA8X5zwZHtdHjLIn60rwG3Z3NAa6cU\n6gOFxyF+ksTCXvWCUP0oFUqsRPMKMYE2mtdQAjEA2diuEHTPUgCQ0ynhLjged8BO\nFyzL3UlFieGGp90v58gUpfjoFq0BReAw7MPYo/Qa\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9B07A17CC5376157813389A2930A44A\n-----BEGIN CERTIFICATE-----\nMIID1TCCA1ygAwIBAgITBs6C2bB6F8xTdhV4EziaKTCkSjAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBmjFDMEEGA1UEAxM6\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBEb21haW4gVmFsaWRhdGlvbiBD\nQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAw\nDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAASxlBEflNumTKsypgdOscM2x6ZRpQGSyB4B\nhJScRQI81UhZvzYSwxPWcxNZwFQoV457HfqR51pviJnHltRS8MJhJ9Q9Rf1sSmy4\nW6SPsM9qnBjwfBRxghByIsEIaTW/PKyjggFpMIIBZTASBgNVHRMBAf8ECDAGAQH/\nAgEAMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4E\nFgQUp6etGGS1u/oGGEfIwJ68Zf9pAWAwHwYDVR0jBBgwFoAUVamEidLBMr0Yy2ym\nB07I552+gpAwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBz\nOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDov\nL2NybC50cnVzdHdhdmUuY29tL1RXR1AzODRDQS5jcmwwcgYIKwYBBQUHAQEEZjBk\nMCYGCCsGAQUFBzABhhpodHRwOi8vb2NzcC50cnVzdHdhdmUuY29tLzA6BggrBgEF\nBQcwAoYuaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvVFdHUDM4NENB\nLmNydDAKBggqhkjOPQQDAwNnADBkAjA6fS1jRjt+DvnWSI58v4lX+8DCXbdEhDaB\nbBOS/rXwS/ntsFXqTf0B90GPv3AWlFMCMBbz6nXMwX0jKRkaFZOZx9tvwUapdq7M\n6jYpT/NnAzH68x1t3/7ysZ8lPuKIqAwdKQ==\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A331594530006781829387E40DBCB6\n-----BEGIN CERTIFICATE-----\nMIID4zCCA2igAwIBAgITBs6C2aMxWUUwAGeBgpOH5A28tjAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBnDFFMEMGA1UEAxM8\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBFeHRlbmRlZCBWYWxpZGF0aW9u\nIENBLCBMZXZlbCAxMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4x\nEDAOBgNVBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJV\nUzB2MBAGByqGSM49AgEGBSuBBAAiA2IABKcVGieqBjW3BuVza9VhkBlpGLHLZqQg\nI0GXaTpt5CogNWz6BmlZ1yAPjRnDUVfVwl57ATRtV7u+5TPFzKZ+RheFVc0iA8vl\nQ2JINGRz8XLDaivvuygQtFKSzCWn4e66cKOCAXMwggFvMBIGA1UdEwEB/wQIMAYB\nAf8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF\nBQcDATAdBgNVHQ4EFgQUMFfit09gayJACkNfT/oNzXO8JCcwHwYDVR0jBBgwFoAU\nVamEidLBMr0Yy2ymB07I552+gpAwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYB\nBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwNwYDVR0fBDAwLjAs\noCqgKIYmaHR0cDovL2NybC50cnVzdHdhdmUuY29tL1RXR1AzODRDQS5jcmwwcgYI\nKwYBBQUHAQEEZjBkMCYGCCsGAQUFBzABhhpodHRwOi8vb2NzcC50cnVzdHdhdmUu\nY29tLzA6BggrBgEFBQcwAoYuaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3Vl\ncnMvVFdHUDM4NENBLmNydDAKBggqhkjOPQQDAwNpADBmAjEA6pScrGT+SruK7iON\n7iDJZfhQsjfQIhaq9sHiEXd89B8ibWOb57no/K265dPxeuALAjEA27NTMZM344eT\nX3df9B22dY5ZshsUMIiRcMo1K4B/GBO8SIA0jParkHS5g4WO5K7O\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A9D8E29837EF90BEAF59DC6551BED6\n-----BEGIN CERTIFICATE-----\nMIID5jCCA2ygAwIBAgITBs6C2anY4pg375C+r1ncZVG+1jAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBoDFJMEcGA1UEAxNA\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBPcmdhbml6YXRpb24gVmFsaWRh\ndGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMRAwDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UE\nBhMCVVMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATvG09PrsO8UQZhH5Zw54rwgcUw\nKjC9D2V3myjD5WOa8uxdTL8PzdwPk4TCcSf6UUG1Tt74j/I+vBOi2tgMcDt68Zld\nvTj+jZT1BBYTQtYh6/dOUjmiapQU5XqoFMRNubGjggFzMIIBbzASBgNVHRMBAf8E\nCDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYI\nKwYBBQUHAwEwHQYDVR0OBBYEFDoXwH5iO1eguEDKzDRHzZZ+/AmIMB8GA1UdIwQY\nMBaAFFWphInSwTK9GMtspgdOyOedvoKQMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgG\nCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NBMDcGA1UdHwQw\nMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9UV0dQMzg0Q0EuY3Js\nMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3\nYXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9p\nc3N1ZXJzL1RXR1AzODRDQS5jcnQwCgYIKoZIzj0EAwMDaAAwZQIwMyHlVCVMacxP\nO0fC+uc4M7Eq1F9woaWBmLSSNC6EWe3nShMqsR9HrNWrOHBHucNWAjEArwrzEM8g\nJkR4iZxbyYNIn2sNEkNZt2pxqJn4G2cDDDFfOarykKVzP1aJ9OMdYUvs\n-----END CERTIFICATE-----\n\nTrustwave S/MIME SHA256 CA, Level 1\nXRamp Security Services Inc\n3A83B71EE02C3CCA1CE1A2643E9B66EA\n-----BEGIN CERTIFICATE-----\nMIIFHTCCBAWgAwIBAgIQOoO3HuAsPMoc4aJkPptm6jANBgkqhkiG9w0BAQsFADCB\ngjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk\nMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY\nUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQxMDAxMTky\nMjM4WhcNMjQwOTI4MTkyMjM4WjCBpDELMAkGA1UEBhMCVVMxETAPBgNVBAgTCEls\nbGlub2lzMRAwDgYDVQQHEwdDaGljYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9s\nZGluZ3MsIEluYy4xLDAqBgNVBAMTI1RydXN0d2F2ZSBTL01JTUUgU0hBMjU2IENB\nLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4c5I5giD0wEh+RuoLIJkD7a6mBlm\n+YzTtXSefGejVVYtpjclkUl4C4hEfQMCUcrBnU3ORHVprXi/Q82dKNFPac8FI9bj\n8mtq0cjdSDfXJKfdf52wPXnTjASwKyhJt+CoJik+Fz72KAkjxi+OUSpWdQBeAQra\ndbtu4UGFTgPcuU/cwpF8J0g4CGk/saVKkkJNpq5wqpfQRYl025FyKbzmRjqhB/Ta\npoHlbHMQ7aeoZ+qtDC+eWnE3AqTUHx14Z5fegjLQRmPWqqdeZafthouglbEuHt4A\neyzefTDNwyXjUiRD/n0kaNNW+lcsLpw7ouw1OU8mwQ0C7LoPJljpXRjvOwIDAQAB\no4IBaTCCAWUwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUDDOjV6rjq9ZL\ncBs2nqPtYVDmr3QwDgYDVR0PAQH/BAQDAgGGMEgGA1UdIARBMD8wPQYPKwYBBAGB\n7RgDAwMFBAMDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5j\nb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdhdmUuY29t\nL1hHQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29j\nc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdh\ndmUuY29tL2lzc3VlcnMvWEdDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwQwHwYD\nVR0jBBgwFoAUxk+iPQZjhAmczmLkBKyNXLXpthswDQYJKoZIhvcNAQELBQADggEB\nAIdGLHufUegzFKVBQVWs3YAIFqCcJvdak14TMRImxJsnQWLz+jIW0olC0JATY6Ng\nxAbjIJA4wtW/tA+rgE6WcA5y3bLN3bRMQVDSu6X26hkVjvwo4/VYykOp3e9Cqlfe\ngJAsrqBQKXkUpEbYEmmorXxj6/74e//xwXTz0XS0BS9cXhONlTQffyJnMeLaunzQ\nS1x/MvALfPCHCZCTOfLDmwylKtHHu+V2Ks0HV+ZrzCBRR5W3MhGTU7PpNEMQwyGF\n+MG5eZTd0jyxOSOjaXQm7iDh0tG/iKZZegn5AhNdaHE74QEHTjK+teLQlo60QGBk\necyzakgVYZ/Ezalz8nQwhCA=\n-----END CERTIFICATE-----\n\nTrustwave XRamp Global Extended Validation CA, Level 1\nXRamp Security Services Inc\n00D3D519C2B2EB5C7040F64CBC957BBD2C\n-----BEGIN CERTIFICATE-----\nMIIFMDCCBBigAwIBAgIRANPVGcKy61xwQPZMvJV7vSwwDQYJKoZIhvcNAQELBQAw\ngYIxCzAJBgNVBAYTAlVTMR4wHAYDVQQLExV3d3cueHJhbXBzZWN1cml0eS5jb20x\nJDAiBgNVBAoTG1hSYW1wIFNlY3VyaXR5IFNlcnZpY2VzIEluYzEtMCsGA1UEAxMk\nWFJhbXAgR2xvYmFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE1MDgxMjIw\nMTczMVoXDTI1MDgwOTIwMTczMVowgbcxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJ\nbGxpbm9pczEQMA4GA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhv\nbGRpbmdzLCBJbmMuMT8wPQYDVQQDEzZUcnVzdHdhdmUgWFJhbXAgR2xvYmFsIEV4\ndGVuZGVkIFZhbGlkYXRpb24gQ0EsIExldmVsIDExHzAdBgkqhkiG9w0BCQEWEGNh\nQHRydXN0d2F2ZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9\nAAbj9SknrNJT9pDatGvlR386KRi0SkqIOGr+C5W91+8E8PqydEHwjrnrWt/MTLGO\n+2kfEO3TEJlWxQQqbHy8SdhjCANefLzOT1cfTfjroWBIS9yiHpBIQytAaz/td95Y\n+JKrRBVCnIR/wB5qMMQ982RWwqggD763XLma0c1AIndsZL+dXp1zET4KBreoxn3q\nRYzMIsZIL2mAJoiCOTYuOGrOMVuaQn0HSu3K7bU+CpkdLQ/j+ikcQiI10IL9oOcO\nU9Gnt/hRyUX66Gk91RIpYXhla2tIYrg7ezrAnFoZIZCb891JjFtbSEOvAAK9F5d6\nfkkjPx0432o/v1c5GRFPAgMBAAGjggFoMIIBZDASBgNVHRMBAf8ECDAGAQH/AgEA\nMB0GA1UdDgQWBBTFzrk7QkXAzQnlaOhIOoNdbI6rGDAOBgNVHQ8BAf8EBAMCAYYw\nPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRy\ndXN0d2F2ZS5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVz\ndHdhdmUuY29tL1hHQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZ\naHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3Nz\nbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvWEdDQS5jcnQwHQYDVR0lBBYwFAYIKwYB\nBQUHAwIGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFMZPoj0GY4QJnM5i5ASsjVy16bYb\nMA0GCSqGSIb3DQEBCwUAA4IBAQCA2N/WVTGYRGNTuvF2qKWPrQUx0/6pKmGqELl6\nNXs1bwRXCci98SkeNjiaa2dHEwcGR43/M1Y0nekXP8QCEFVqGOwaY0pnTb8wL+CI\n/HTp1zfmoCYNvtzt1fIq/+9ynLYEjX8rsrf51HIEjJJK8K3k/Ub3cFT+yJKNN2YN\nJS0IvJYlbpqS6VbcInwLcW7WvJmXUuL7t0Vtt0d2q1h5UdnJQP+skiOmN/B0zPut\nbRC4v5pNGJJmwbk58UlOSeviH2qzDGutamOJ6dFNWqQFoZorAT7fUsr3WDA4HKtx\neraYdCIRJX7weW9xpdMNsVO7Wy/Ma7Fz9fzKnOH5mnInBOof\n-----END CERTIFICATE-----\n\nSecure Global CA\nSecureTrust Corporation\n075622A4E8D48A894DF413C8F0F8EAA5\n-----BEGIN CERTIFICATE-----\nMIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx\nMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg\nQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ\niQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa\n/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ\njnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI\nHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7\nsFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w\ngZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw\nKaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG\nAQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L\nURYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO\nH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm\nI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY\niNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc\nf8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW\n-----END CERTIFICATE-----\n\nSecureTrust CA\nSecureTrust Corporation\n0CF08E5C0816A5AD427FF0EB271859D0\n-----BEGIN CERTIFICATE-----\nMIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz\nMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv\ncnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz\nZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO\n0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao\nwW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj\n7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS\n8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT\nBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB\n/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg\nJYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC\nNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3\n6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/\n3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm\nD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS\nCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR\n3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=\n-----END CERTIFICATE-----\n\nTrustwave Global Certification Authority\nTrustwave Holdings, Inc.\n05F70E86DA49F346352EBAB2\n-----BEGIN CERTIFICATE-----\nMIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw\nCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x\nITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1\nc3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx\nOTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI\nSWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI\nb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp\nY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\nALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn\nswuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu\n7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8\n1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW\n80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP\nJqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l\nRtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw\nhI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10\ncoos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc\nBW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n\ntwiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud\nEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud\nDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W\n0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe\nuyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q\nlG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB\naCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE\nsLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT\nMaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe\nqu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh\nVicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8\nh6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9\nEEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK\nyeC2nOnOcXHebD8WpHk=\n-----END CERTIFICATE-----\n\nTrustwave Global ECC P256 Certification Authority\nTrustwave Holdings, Inc.\n0D6A5F083F285C3E5195DF5D\n-----BEGIN CERTIFICATE-----\nMIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf\nBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3\nYXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x\nNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G\nA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0\nd2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF\nQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG\nSM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN\nFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w\nDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw\nCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh\nDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7\n-----END CERTIFICATE-----\n\nTrustwave Global ECC P384 Certification Authority\nTrustwave Holdings, Inc.\n08BD85976C9927A48068473B\n-----BEGIN CERTIFICATE-----\nMIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf\nBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3\nYXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x\nNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G\nA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0\nd2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF\nQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB\nBAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ\nj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF\n1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\nA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3\nAZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC\nMGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu\nSw==\n-----END CERTIFICATE-----\n";
|
|
20
47
|
|
|
21
48
|
var PKG_NAME = "@hpcc-js/comms";
|
|
22
|
-
var PKG_VERSION = "2.
|
|
23
|
-
var BUILD_VERSION = "2.
|
|
49
|
+
var PKG_VERSION = "2.66.0";
|
|
50
|
+
var BUILD_VERSION = "2.97.0";
|
|
24
51
|
|
|
25
52
|
/*! *****************************************************************************
|
|
26
53
|
Copyright (c) Microsoft Corporation.
|
|
@@ -109,10 +136,10 @@ function __spreadArray(to, from, pack) {
|
|
|
109
136
|
ar[i] = from[i];
|
|
110
137
|
}
|
|
111
138
|
}
|
|
112
|
-
return to.concat(ar || from);
|
|
139
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
113
140
|
}
|
|
114
141
|
|
|
115
|
-
var logger = util.scopedLogger("comms/connection.ts");
|
|
142
|
+
var logger$2 = util.scopedLogger("comms/connection.ts");
|
|
116
143
|
function instanceOfIOptions(object) {
|
|
117
144
|
return "baseUrl" in object;
|
|
118
145
|
}
|
|
@@ -151,20 +178,20 @@ function serializeRequest(obj, encodeRequest, prefix) {
|
|
|
151
178
|
obj[key].forEach(function (row, i) {
|
|
152
179
|
if (typeof row === "object") {
|
|
153
180
|
includeItemCount_1 = true;
|
|
154
|
-
str.push(serializeRequest(row, encodeRequest, prefix + encode(key
|
|
181
|
+
str.push(serializeRequest(row, encodeRequest, prefix + encode("".concat(key, ".").concat(i), encodeRequest)));
|
|
155
182
|
}
|
|
156
183
|
else {
|
|
157
|
-
str.push(prefix + encode(key
|
|
184
|
+
str.push(prefix + encode("".concat(key, "_i").concat(i), encodeRequest) + "=" + serializeRequest(row, encodeRequest));
|
|
158
185
|
}
|
|
159
186
|
});
|
|
160
187
|
if (includeItemCount_1) {
|
|
161
|
-
str.push(prefix + encode(key
|
|
188
|
+
str.push(prefix + encode("".concat(key, ".itemcount"), encodeRequest) + "=" + obj[key].length);
|
|
162
189
|
}
|
|
163
190
|
}
|
|
164
191
|
else if (typeof obj[key] === "object") {
|
|
165
192
|
if (obj[key] && obj[key]["Item"] instanceof Array) { // Specific to ws_machine.GetTargetClusterInfo?
|
|
166
193
|
str.push(serializeRequest(obj[key]["Item"], encodeRequest, prefix + encode(key, encodeRequest)));
|
|
167
|
-
str.push(prefix + encode(key
|
|
194
|
+
str.push(prefix + encode("".concat(key, ".itemcount"), encodeRequest) + "=" + obj[key]["Item"].length);
|
|
168
195
|
}
|
|
169
196
|
else {
|
|
170
197
|
str.push(serializeRequest(obj[key], encodeRequest, prefix + encode(key, encodeRequest)));
|
|
@@ -214,12 +241,12 @@ function jsonp(opts, action, request, responseType, header) {
|
|
|
214
241
|
respondedTimeout -= respondedTick;
|
|
215
242
|
if (respondedTimeout <= 0) {
|
|
216
243
|
clearInterval(progress);
|
|
217
|
-
logger.error("Request timeout: " + script.src);
|
|
244
|
+
logger$2.error("Request timeout: " + script.src);
|
|
218
245
|
doCallback();
|
|
219
246
|
reject(Error("Request timeout: " + script.src));
|
|
220
247
|
}
|
|
221
248
|
else {
|
|
222
|
-
logger.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
|
|
249
|
+
logger$2.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
|
|
223
250
|
}
|
|
224
251
|
}
|
|
225
252
|
}, respondedTick);
|
|
@@ -230,7 +257,7 @@ function jsonp(opts, action, request, responseType, header) {
|
|
|
230
257
|
});
|
|
231
258
|
}
|
|
232
259
|
function authHeader(opts) {
|
|
233
|
-
return opts.userID ? { Authorization: "Basic "
|
|
260
|
+
return opts.userID ? { Authorization: "Basic ".concat(btoa("".concat(opts.userID, ":").concat(opts.password))) } : {};
|
|
234
261
|
}
|
|
235
262
|
// _omitMap is a workaround for older HPCC-Platform instances without credentials ---
|
|
236
263
|
var _omitMap = {};
|
|
@@ -289,7 +316,7 @@ function get(opts, action, request, responseType, header) {
|
|
|
289
316
|
abortSignal = request.abortSignal_;
|
|
290
317
|
delete request.abortSignal_;
|
|
291
318
|
}
|
|
292
|
-
return doFetch(opts, action
|
|
319
|
+
return doFetch(opts, "".concat(action, "?").concat(serializeRequest(request, opts.encodeRequest)), {
|
|
293
320
|
method: "get",
|
|
294
321
|
signal: abortSignal
|
|
295
322
|
}, __assign({}, header), responseType);
|
|
@@ -368,7 +395,7 @@ var ESPExceptions = /** @class */ (function (_super) {
|
|
|
368
395
|
_this.Source = exceptions.Source;
|
|
369
396
|
_this.Exception = exceptions.Exception;
|
|
370
397
|
if (exceptions.Exception.length) {
|
|
371
|
-
_this.message = exceptions.Exception[0].Code
|
|
398
|
+
_this.message = "".concat(exceptions.Exception[0].Code, ": ").concat(exceptions.Exception[0].Message);
|
|
372
399
|
}
|
|
373
400
|
else {
|
|
374
401
|
_this.message = "";
|
|
@@ -688,7 +715,7 @@ var EclService = /** @class */ (function (_super) {
|
|
|
688
715
|
};
|
|
689
716
|
EclService.prototype.requestJson = function (querySet, queryId) {
|
|
690
717
|
// http://192.168.3.22:8002/WsEcl/example/request/query/roxie/peopleaccounts/json?display
|
|
691
|
-
return this._connection.send("example/request/query/"
|
|
718
|
+
return this._connection.send("example/request/query/".concat(querySet, "/").concat(queryId, "/json"), {}, "text").then(function (response) {
|
|
692
719
|
var requestSchema = JSON.parse(response);
|
|
693
720
|
for (var key in requestSchema) {
|
|
694
721
|
return requestSchema[key];
|
|
@@ -698,7 +725,7 @@ var EclService = /** @class */ (function (_super) {
|
|
|
698
725
|
};
|
|
699
726
|
EclService.prototype.responseJson = function (querySet, queryId) {
|
|
700
727
|
// http://192.168.3.22:8002/WsEcl/example/response/query/roxie/peopleaccounts/json?display
|
|
701
|
-
return this._connection.send("example/response/query/"
|
|
728
|
+
return this._connection.send("example/response/query/".concat(querySet, "/").concat(queryId, "/json"), {}, "text").then(function (response) {
|
|
702
729
|
var responseSchema = JSON.parse(response);
|
|
703
730
|
for (var key in responseSchema) {
|
|
704
731
|
return responseSchema[key].Results;
|
|
@@ -714,7 +741,7 @@ var EclService = /** @class */ (function (_super) {
|
|
|
714
741
|
};
|
|
715
742
|
EclService.prototype.submit = function (querySet, queryId, request) {
|
|
716
743
|
// http://192.168.3.22:8002/WsEcl/submit/query/roxie/peopleaccounts.1/json
|
|
717
|
-
var action = "submit/query/"
|
|
744
|
+
var action = "submit/query/".concat(querySet, "/").concat(queryId);
|
|
718
745
|
return this._connection.send(action, request, "json2").then(function (response) {
|
|
719
746
|
if (response.Results && response.Results.Exception) {
|
|
720
747
|
throw new ESPExceptions(action, request, {
|
|
@@ -764,7 +791,7 @@ function ascendingComparator(f) {
|
|
|
764
791
|
};
|
|
765
792
|
}
|
|
766
793
|
|
|
767
|
-
|
|
794
|
+
bisector(ascending);
|
|
768
795
|
|
|
769
796
|
function number(x) {
|
|
770
797
|
return x === null ? NaN : +x;
|
|
@@ -985,13 +1012,18 @@ var StoreService = /** @class */ (function (_super) {
|
|
|
985
1012
|
return StoreService;
|
|
986
1013
|
}(Service));
|
|
987
1014
|
|
|
1015
|
+
/*
|
|
1016
|
+
Response structures generated via:
|
|
1017
|
+
* http://localhost:8010/WsTopology/TpLogicalClusterQuery?respjson_
|
|
1018
|
+
* http://json2ts.com/
|
|
1019
|
+
*/
|
|
1020
|
+
exports.TpLogicalClusterQuery = void 0;
|
|
988
1021
|
(function (TpLogicalClusterQuery) {
|
|
989
|
-
var RoxieQueueFilter;
|
|
990
1022
|
(function (RoxieQueueFilter) {
|
|
991
1023
|
RoxieQueueFilter["All"] = "All";
|
|
992
1024
|
RoxieQueueFilter["QueriesOnly"] = "QueriesOnly";
|
|
993
1025
|
RoxieQueueFilter["WorkunitsOnly"] = "WorkunitsOnly";
|
|
994
|
-
})(
|
|
1026
|
+
})(TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
|
|
995
1027
|
})(exports.TpLogicalClusterQuery || (exports.TpLogicalClusterQuery = {}));
|
|
996
1028
|
var TopologyService = /** @class */ (function (_super) {
|
|
997
1029
|
__extends(TopologyService, _super);
|
|
@@ -1047,6 +1079,13 @@ var TopologyService = /** @class */ (function (_super) {
|
|
|
1047
1079
|
return TopologyService;
|
|
1048
1080
|
}(Service));
|
|
1049
1081
|
|
|
1082
|
+
/*
|
|
1083
|
+
Response structures generated via:
|
|
1084
|
+
* http://localhost:8010/WsWorkunits/WUInfo?reqjson_
|
|
1085
|
+
* http://localhost:8010/WsWorkunits/WUInfo?respjson_
|
|
1086
|
+
* http://json2ts.com/
|
|
1087
|
+
*/
|
|
1088
|
+
exports.WUStateID = void 0;
|
|
1050
1089
|
(function (WUStateID) {
|
|
1051
1090
|
WUStateID[WUStateID["Unknown"] = 0] = "Unknown";
|
|
1052
1091
|
WUStateID[WUStateID["Compiled"] = 1] = "Compiled";
|
|
@@ -1071,8 +1110,8 @@ var TopologyService = /** @class */ (function (_super) {
|
|
|
1071
1110
|
function isECLResult(_) {
|
|
1072
1111
|
return typeof _.Name === "string";
|
|
1073
1112
|
}
|
|
1113
|
+
exports.WUUpdate = void 0;
|
|
1074
1114
|
(function (WUUpdate) {
|
|
1075
|
-
var Action;
|
|
1076
1115
|
(function (Action) {
|
|
1077
1116
|
Action[Action["Unknown"] = 0] = "Unknown";
|
|
1078
1117
|
Action[Action["Compile"] = 1] = "Compile";
|
|
@@ -1084,7 +1123,7 @@ function isECLResult(_) {
|
|
|
1084
1123
|
Action[Action["Resume"] = 7] = "Resume";
|
|
1085
1124
|
Action[Action["Debug"] = 8] = "Debug";
|
|
1086
1125
|
Action[Action["__size"] = 9] = "__size";
|
|
1087
|
-
})(
|
|
1126
|
+
})(WUUpdate.Action || (WUUpdate.Action = {}));
|
|
1088
1127
|
})(exports.WUUpdate || (exports.WUUpdate = {}));
|
|
1089
1128
|
function isWUQueryECLWorkunit(_) {
|
|
1090
1129
|
return _.TotalClusterTime !== undefined;
|
|
@@ -1286,6 +1325,8 @@ var day = newInterval(function(date) {
|
|
|
1286
1325
|
return date.getDate() - 1;
|
|
1287
1326
|
});
|
|
1288
1327
|
|
|
1328
|
+
var timeDay = day;
|
|
1329
|
+
|
|
1289
1330
|
function weekday(i) {
|
|
1290
1331
|
return newInterval(function(date) {
|
|
1291
1332
|
date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
|
|
@@ -1299,11 +1340,11 @@ function weekday(i) {
|
|
|
1299
1340
|
|
|
1300
1341
|
var sunday = weekday(0);
|
|
1301
1342
|
var monday = weekday(1);
|
|
1302
|
-
|
|
1303
|
-
|
|
1343
|
+
weekday(2);
|
|
1344
|
+
weekday(3);
|
|
1304
1345
|
var thursday = weekday(4);
|
|
1305
|
-
|
|
1306
|
-
|
|
1346
|
+
weekday(5);
|
|
1347
|
+
weekday(6);
|
|
1307
1348
|
|
|
1308
1349
|
var year = newInterval(function(date) {
|
|
1309
1350
|
date.setMonth(0, 1);
|
|
@@ -1327,6 +1368,8 @@ year.every = function(k) {
|
|
|
1327
1368
|
});
|
|
1328
1369
|
};
|
|
1329
1370
|
|
|
1371
|
+
var timeYear = year;
|
|
1372
|
+
|
|
1330
1373
|
var utcDay = newInterval(function(date) {
|
|
1331
1374
|
date.setUTCHours(0, 0, 0, 0);
|
|
1332
1375
|
}, function(date, step) {
|
|
@@ -1337,6 +1380,8 @@ var utcDay = newInterval(function(date) {
|
|
|
1337
1380
|
return date.getUTCDate() - 1;
|
|
1338
1381
|
});
|
|
1339
1382
|
|
|
1383
|
+
var utcDay$1 = utcDay;
|
|
1384
|
+
|
|
1340
1385
|
function utcWeekday(i) {
|
|
1341
1386
|
return newInterval(function(date) {
|
|
1342
1387
|
date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
|
|
@@ -1350,11 +1395,11 @@ function utcWeekday(i) {
|
|
|
1350
1395
|
|
|
1351
1396
|
var utcSunday = utcWeekday(0);
|
|
1352
1397
|
var utcMonday = utcWeekday(1);
|
|
1353
|
-
|
|
1354
|
-
|
|
1398
|
+
utcWeekday(2);
|
|
1399
|
+
utcWeekday(3);
|
|
1355
1400
|
var utcThursday = utcWeekday(4);
|
|
1356
|
-
|
|
1357
|
-
|
|
1401
|
+
utcWeekday(5);
|
|
1402
|
+
utcWeekday(6);
|
|
1358
1403
|
|
|
1359
1404
|
var utcYear = newInterval(function(date) {
|
|
1360
1405
|
date.setUTCMonth(0, 1);
|
|
@@ -1378,6 +1423,8 @@ utcYear.every = function(k) {
|
|
|
1378
1423
|
});
|
|
1379
1424
|
};
|
|
1380
1425
|
|
|
1426
|
+
var utcYear$1 = utcYear;
|
|
1427
|
+
|
|
1381
1428
|
function localDate(d) {
|
|
1382
1429
|
if (0 <= d.y && d.y < 100) {
|
|
1383
1430
|
var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
|
|
@@ -1566,7 +1613,7 @@ function formatLocale(locale) {
|
|
|
1566
1613
|
return function(string) {
|
|
1567
1614
|
var d = newDate(1900, undefined, 1),
|
|
1568
1615
|
i = parseSpecifier(d, specifier, string += "", 0),
|
|
1569
|
-
week, day
|
|
1616
|
+
week, day;
|
|
1570
1617
|
if (i != string.length) return null;
|
|
1571
1618
|
|
|
1572
1619
|
// If a UNIX timestamp is specified, return it.
|
|
@@ -1587,25 +1634,25 @@ function formatLocale(locale) {
|
|
|
1587
1634
|
if (d.V < 1 || d.V > 53) return null;
|
|
1588
1635
|
if (!("w" in d)) d.w = 1;
|
|
1589
1636
|
if ("Z" in d) {
|
|
1590
|
-
week = utcDate(newDate(d.y, 0, 1)), day
|
|
1591
|
-
week = day
|
|
1592
|
-
week = utcDay.offset(week, (d.V - 1) * 7);
|
|
1637
|
+
week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();
|
|
1638
|
+
week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);
|
|
1639
|
+
week = utcDay$1.offset(week, (d.V - 1) * 7);
|
|
1593
1640
|
d.y = week.getUTCFullYear();
|
|
1594
1641
|
d.m = week.getUTCMonth();
|
|
1595
1642
|
d.d = week.getUTCDate() + (d.w + 6) % 7;
|
|
1596
1643
|
} else {
|
|
1597
|
-
week = localDate(newDate(d.y, 0, 1)), day
|
|
1598
|
-
week = day
|
|
1599
|
-
week =
|
|
1644
|
+
week = localDate(newDate(d.y, 0, 1)), day = week.getDay();
|
|
1645
|
+
week = day > 4 || day === 0 ? monday.ceil(week) : monday(week);
|
|
1646
|
+
week = timeDay.offset(week, (d.V - 1) * 7);
|
|
1600
1647
|
d.y = week.getFullYear();
|
|
1601
1648
|
d.m = week.getMonth();
|
|
1602
1649
|
d.d = week.getDate() + (d.w + 6) % 7;
|
|
1603
1650
|
}
|
|
1604
1651
|
} else if ("W" in d || "U" in d) {
|
|
1605
1652
|
if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
|
|
1606
|
-
day
|
|
1653
|
+
day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
|
|
1607
1654
|
d.m = 0;
|
|
1608
|
-
d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day
|
|
1655
|
+
d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
|
|
1609
1656
|
}
|
|
1610
1657
|
|
|
1611
1658
|
// If a time zone is specified, all fields are interpreted as UTC and then
|
|
@@ -1891,7 +1938,7 @@ function formatHour12(d, p) {
|
|
|
1891
1938
|
}
|
|
1892
1939
|
|
|
1893
1940
|
function formatDayOfYear(d, p) {
|
|
1894
|
-
return pad(1 +
|
|
1941
|
+
return pad(1 + timeDay.count(timeYear(d), d), p, 3);
|
|
1895
1942
|
}
|
|
1896
1943
|
|
|
1897
1944
|
function formatMilliseconds(d, p) {
|
|
@@ -1920,7 +1967,7 @@ function formatWeekdayNumberMonday(d) {
|
|
|
1920
1967
|
}
|
|
1921
1968
|
|
|
1922
1969
|
function formatWeekNumberSunday(d, p) {
|
|
1923
|
-
return pad(sunday.count(
|
|
1970
|
+
return pad(sunday.count(timeYear(d) - 1, d), p, 2);
|
|
1924
1971
|
}
|
|
1925
1972
|
|
|
1926
1973
|
function dISO(d) {
|
|
@@ -1930,7 +1977,7 @@ function dISO(d) {
|
|
|
1930
1977
|
|
|
1931
1978
|
function formatWeekNumberISO(d, p) {
|
|
1932
1979
|
d = dISO(d);
|
|
1933
|
-
return pad(thursday.count(
|
|
1980
|
+
return pad(thursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);
|
|
1934
1981
|
}
|
|
1935
1982
|
|
|
1936
1983
|
function formatWeekdayNumberSunday(d) {
|
|
@@ -1938,7 +1985,7 @@ function formatWeekdayNumberSunday(d) {
|
|
|
1938
1985
|
}
|
|
1939
1986
|
|
|
1940
1987
|
function formatWeekNumberMonday(d, p) {
|
|
1941
|
-
return pad(monday.count(
|
|
1988
|
+
return pad(monday.count(timeYear(d) - 1, d), p, 2);
|
|
1942
1989
|
}
|
|
1943
1990
|
|
|
1944
1991
|
function formatYear(d, p) {
|
|
@@ -1980,7 +2027,7 @@ function formatUTCHour12(d, p) {
|
|
|
1980
2027
|
}
|
|
1981
2028
|
|
|
1982
2029
|
function formatUTCDayOfYear(d, p) {
|
|
1983
|
-
return pad(1 + utcDay.count(utcYear(d), d), p, 3);
|
|
2030
|
+
return pad(1 + utcDay$1.count(utcYear$1(d), d), p, 3);
|
|
1984
2031
|
}
|
|
1985
2032
|
|
|
1986
2033
|
function formatUTCMilliseconds(d, p) {
|
|
@@ -2009,7 +2056,7 @@ function formatUTCWeekdayNumberMonday(d) {
|
|
|
2009
2056
|
}
|
|
2010
2057
|
|
|
2011
2058
|
function formatUTCWeekNumberSunday(d, p) {
|
|
2012
|
-
return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);
|
|
2059
|
+
return pad(utcSunday.count(utcYear$1(d) - 1, d), p, 2);
|
|
2013
2060
|
}
|
|
2014
2061
|
|
|
2015
2062
|
function UTCdISO(d) {
|
|
@@ -2019,7 +2066,7 @@ function UTCdISO(d) {
|
|
|
2019
2066
|
|
|
2020
2067
|
function formatUTCWeekNumberISO(d, p) {
|
|
2021
2068
|
d = UTCdISO(d);
|
|
2022
|
-
return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
|
|
2069
|
+
return pad(utcThursday.count(utcYear$1(d), d) + (utcYear$1(d).getUTCDay() === 4), p, 2);
|
|
2023
2070
|
}
|
|
2024
2071
|
|
|
2025
2072
|
function formatUTCWeekdayNumberSunday(d) {
|
|
@@ -2027,7 +2074,7 @@ function formatUTCWeekdayNumberSunday(d) {
|
|
|
2027
2074
|
}
|
|
2028
2075
|
|
|
2029
2076
|
function formatUTCWeekNumberMonday(d, p) {
|
|
2030
|
-
return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);
|
|
2077
|
+
return pad(utcMonday.count(utcYear$1(d) - 1, d), p, 2);
|
|
2031
2078
|
}
|
|
2032
2079
|
|
|
2033
2080
|
function formatUTCYear(d, p) {
|
|
@@ -2066,8 +2113,6 @@ function formatUnixTimestampSeconds(d) {
|
|
|
2066
2113
|
}
|
|
2067
2114
|
|
|
2068
2115
|
var locale;
|
|
2069
|
-
var timeFormat;
|
|
2070
|
-
var timeParse;
|
|
2071
2116
|
var utcFormat;
|
|
2072
2117
|
var utcParse;
|
|
2073
2118
|
|
|
@@ -2084,8 +2129,6 @@ defaultLocale({
|
|
|
2084
2129
|
|
|
2085
2130
|
function defaultLocale(definition) {
|
|
2086
2131
|
locale = formatLocale(definition);
|
|
2087
|
-
timeFormat = locale.format;
|
|
2088
|
-
timeParse = locale.parse;
|
|
2089
2132
|
utcFormat = locale.utcFormat;
|
|
2090
2133
|
utcParse = locale.utcParse;
|
|
2091
2134
|
return locale;
|
|
@@ -2183,12 +2226,12 @@ var GraphCache = /** @class */ (function (_super) {
|
|
|
2183
2226
|
}
|
|
2184
2227
|
return GraphCache;
|
|
2185
2228
|
}(util.Cache));
|
|
2186
|
-
function walkXmlJson(node, callback, stack) {
|
|
2229
|
+
function walkXmlJson$1(node, callback, stack) {
|
|
2187
2230
|
stack = stack || [];
|
|
2188
2231
|
stack.push(node);
|
|
2189
2232
|
callback(node.name, node.$, node.children(), stack);
|
|
2190
2233
|
node.children().forEach(function (childNode) {
|
|
2191
|
-
walkXmlJson(childNode, callback, stack);
|
|
2234
|
+
walkXmlJson$1(childNode, callback, stack);
|
|
2192
2235
|
});
|
|
2193
2236
|
stack.pop();
|
|
2194
2237
|
}
|
|
@@ -2237,7 +2280,7 @@ function createXGMMLGraph(id, graphs) {
|
|
|
2237
2280
|
return item._["id"];
|
|
2238
2281
|
});
|
|
2239
2282
|
var stack = [graph.root];
|
|
2240
|
-
walkXmlJson(graphs, function (tag, attributes, childNodes, _stack) {
|
|
2283
|
+
walkXmlJson$1(graphs, function (tag, attributes, childNodes, _stack) {
|
|
2241
2284
|
var top = stack[stack.length - 1];
|
|
2242
2285
|
switch (tag) {
|
|
2243
2286
|
case "graph":
|
|
@@ -2312,7 +2355,7 @@ function createGraph(scopes) {
|
|
|
2312
2355
|
scopeStack.pop();
|
|
2313
2356
|
}
|
|
2314
2357
|
if (!scopeParent1) {
|
|
2315
|
-
console.log("Missing SG:Parent ("
|
|
2358
|
+
console.log("Missing SG:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
|
|
2316
2359
|
}
|
|
2317
2360
|
else {
|
|
2318
2361
|
var parent1 = scopeParent1;
|
|
@@ -2322,7 +2365,7 @@ function createGraph(scopes) {
|
|
|
2322
2365
|
case "activity":
|
|
2323
2366
|
var scopeParent2 = subgraphs[scope.parentScope()];
|
|
2324
2367
|
if (!scopeParent2) {
|
|
2325
|
-
console.log("Missing A:Parent ("
|
|
2368
|
+
console.log("Missing A:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
|
|
2326
2369
|
}
|
|
2327
2370
|
else {
|
|
2328
2371
|
vertices[scope.ScopeName] = scopeParent2.createVertex(scope);
|
|
@@ -2334,7 +2377,7 @@ function createGraph(scopes) {
|
|
|
2334
2377
|
case "function":
|
|
2335
2378
|
var scopeParent3 = vertices[scope.parentScope()];
|
|
2336
2379
|
if (!scopeParent3) {
|
|
2337
|
-
console.log("Missing F:Parent ("
|
|
2380
|
+
console.log("Missing F:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
|
|
2338
2381
|
}
|
|
2339
2382
|
else {
|
|
2340
2383
|
scopeParent3._.children().push(scope);
|
|
@@ -2346,7 +2389,7 @@ function createGraph(scopes) {
|
|
|
2346
2389
|
var scope = edges[id];
|
|
2347
2390
|
var scopeParent3 = subgraphs[scope.parentScope()];
|
|
2348
2391
|
if (!scopeParent3) {
|
|
2349
|
-
console.log("Missing E:Parent ("
|
|
2392
|
+
console.log("Missing E:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
|
|
2350
2393
|
}
|
|
2351
2394
|
else {
|
|
2352
2395
|
var parent3 = scopeParent3;
|
|
@@ -2358,7 +2401,7 @@ function createGraph(scopes) {
|
|
|
2358
2401
|
catch (e) {
|
|
2359
2402
|
// const sourceIndex = scope.attr("SourceIndex").RawValue;
|
|
2360
2403
|
// const targetIndex = scope.attr("TargetIndex").RawValue;
|
|
2361
|
-
console.log("Invalid Edge: "
|
|
2404
|
+
console.log("Invalid Edge: ".concat(id));
|
|
2362
2405
|
}
|
|
2363
2406
|
}
|
|
2364
2407
|
}
|
|
@@ -2651,7 +2694,7 @@ var GlobalResultCache = /** @class */ (function (_super) {
|
|
|
2651
2694
|
__extends(GlobalResultCache, _super);
|
|
2652
2695
|
function GlobalResultCache() {
|
|
2653
2696
|
return _super.call(this, function (obj) {
|
|
2654
|
-
return obj.BaseUrl
|
|
2697
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Wuid, "-").concat(obj.ResultName);
|
|
2655
2698
|
}) || this;
|
|
2656
2699
|
}
|
|
2657
2700
|
return GlobalResultCache;
|
|
@@ -2794,6 +2837,7 @@ var Result = /** @class */ (function (_super) {
|
|
|
2794
2837
|
retVal = _results.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid, ResultName: name_sequence_eclResult.Name }, function () {
|
|
2795
2838
|
return new Result(optsConnection, wuid, name_sequence_eclResult, resultViews);
|
|
2796
2839
|
});
|
|
2840
|
+
retVal.set(name_sequence_eclResult);
|
|
2797
2841
|
}
|
|
2798
2842
|
else if (typeof resultViews === "undefined") {
|
|
2799
2843
|
if (typeof name_sequence_eclResult === "number") {
|
|
@@ -3121,21 +3165,21 @@ var BaseScope = /** @class */ (function (_super) {
|
|
|
3121
3165
|
var label = "";
|
|
3122
3166
|
var rows = [];
|
|
3123
3167
|
label = this.Id;
|
|
3124
|
-
rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">"
|
|
3168
|
+
rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">".concat(this.Id, "</td></tr>"));
|
|
3125
3169
|
if (parentScope) {
|
|
3126
|
-
rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">"
|
|
3170
|
+
rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">".concat(parentScope.Id, "</td></tr>"));
|
|
3127
3171
|
}
|
|
3128
|
-
rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">"
|
|
3172
|
+
rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">".concat(this.ScopeName, "</td></tr>"));
|
|
3129
3173
|
var attrs = this.formattedAttrs();
|
|
3130
3174
|
for (var key in attrs) {
|
|
3131
3175
|
if (key === "Label") {
|
|
3132
3176
|
label = attrs[key];
|
|
3133
3177
|
}
|
|
3134
3178
|
else {
|
|
3135
|
-
rows.push("<tr><td class=\"key\">"
|
|
3179
|
+
rows.push("<tr><td class=\"key\">".concat(key, "</td><td class=\"value\">").concat(attrs[key], "</td></tr>"));
|
|
3136
3180
|
}
|
|
3137
3181
|
}
|
|
3138
|
-
return "<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">"
|
|
3182
|
+
return "<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">".concat(label, "</h4>\n <table>\n ").concat(rows.join(""), "\n </table>\n </div>");
|
|
3139
3183
|
};
|
|
3140
3184
|
return BaseScope;
|
|
3141
3185
|
}(util.StateObject));
|
|
@@ -3275,7 +3319,7 @@ var WorkunitCache = /** @class */ (function (_super) {
|
|
|
3275
3319
|
__extends(WorkunitCache, _super);
|
|
3276
3320
|
function WorkunitCache() {
|
|
3277
3321
|
return _super.call(this, function (obj) {
|
|
3278
|
-
return obj.BaseUrl
|
|
3322
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Wuid);
|
|
3279
3323
|
}) || this;
|
|
3280
3324
|
}
|
|
3281
3325
|
return WorkunitCache;
|
|
@@ -4482,12 +4526,12 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
4482
4526
|
var optsStr = "";
|
|
4483
4527
|
for (var key in opts) {
|
|
4484
4528
|
if (opts.hasOwnProperty(key)) {
|
|
4485
|
-
optsStr += " "
|
|
4529
|
+
optsStr += " ".concat(key, "='").concat(opts[key], "'");
|
|
4486
4530
|
}
|
|
4487
4531
|
}
|
|
4488
4532
|
return this.connection.WUCDebug({
|
|
4489
4533
|
Wuid: this.Wuid,
|
|
4490
|
-
Command: "<debug:"
|
|
4534
|
+
Command: "<debug:".concat(command, " uid='").concat(this.Wuid, "'").concat(optsStr, "/>")
|
|
4491
4535
|
}).then(function (response) {
|
|
4492
4536
|
return response;
|
|
4493
4537
|
});
|
|
@@ -4618,7 +4662,7 @@ function getECLDefinition(vertex) {
|
|
|
4618
4662
|
column: +_col
|
|
4619
4663
|
};
|
|
4620
4664
|
}
|
|
4621
|
-
throw new Error("Bad definition: "
|
|
4665
|
+
throw new Error("Bad definition: ".concat(vertex._[ATTR_DEFINITION]));
|
|
4622
4666
|
}
|
|
4623
4667
|
function breakpointLocations(graph, path) {
|
|
4624
4668
|
var retVal = [];
|
|
@@ -4786,6 +4830,13 @@ var Activity = /** @class */ (function (_super) {
|
|
|
4786
4830
|
if (clusterName === void 0) { clusterName = ""; }
|
|
4787
4831
|
return this.Running.ActiveWorkunit.filter(function (awu) { return clusterName === "" || awu.ClusterName === clusterName; }).map(function (awu) { return Workunit.attach(_this.connection.connectionOptions(), awu.Wuid, awu); });
|
|
4788
4832
|
};
|
|
4833
|
+
Activity.prototype.setBanner = function (request) {
|
|
4834
|
+
var _this = this;
|
|
4835
|
+
return this.connection.SetBanner(__assign({}, request)).then(function (response) {
|
|
4836
|
+
_this.set(response);
|
|
4837
|
+
return _this;
|
|
4838
|
+
});
|
|
4839
|
+
};
|
|
4789
4840
|
Activity.prototype.refresh = function () {
|
|
4790
4841
|
return __awaiter(this, void 0, void 0, function () {
|
|
4791
4842
|
return __generator(this, function (_a) {
|
|
@@ -4800,12 +4851,12 @@ var LogicalFileCache = /** @class */ (function (_super) {
|
|
|
4800
4851
|
__extends(LogicalFileCache, _super);
|
|
4801
4852
|
function LogicalFileCache() {
|
|
4802
4853
|
return _super.call(this, function (obj) {
|
|
4803
|
-
return obj.BaseUrl
|
|
4854
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Cluster, "-").concat(obj.Name);
|
|
4804
4855
|
}) || this;
|
|
4805
4856
|
}
|
|
4806
4857
|
return LogicalFileCache;
|
|
4807
4858
|
}(util.Cache));
|
|
4808
|
-
var _store = new LogicalFileCache();
|
|
4859
|
+
var _store$1 = new LogicalFileCache();
|
|
4809
4860
|
var LogicalFile = /** @class */ (function (_super) {
|
|
4810
4861
|
__extends(LogicalFile, _super);
|
|
4811
4862
|
function LogicalFile(optsConnection, Cluster, Name) {
|
|
@@ -5088,14 +5139,14 @@ var LogicalFile = /** @class */ (function (_super) {
|
|
|
5088
5139
|
configurable: true
|
|
5089
5140
|
});
|
|
5090
5141
|
LogicalFile.attach = function (optsConnection, Cluster, Name) {
|
|
5091
|
-
var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
|
|
5142
|
+
var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
|
|
5092
5143
|
return new LogicalFile(optsConnection, Cluster, Name);
|
|
5093
5144
|
});
|
|
5094
5145
|
return retVal;
|
|
5095
5146
|
};
|
|
5096
5147
|
LogicalFile.prototype.filePartsOnCluster = function () {
|
|
5097
5148
|
var _a;
|
|
5098
|
-
return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []));
|
|
5149
|
+
return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []), true);
|
|
5099
5150
|
};
|
|
5100
5151
|
LogicalFile.prototype.fileParts = function () {
|
|
5101
5152
|
var _a, _b;
|
|
@@ -5542,12 +5593,12 @@ var StoreCache = /** @class */ (function (_super) {
|
|
|
5542
5593
|
__extends(StoreCache, _super);
|
|
5543
5594
|
function StoreCache() {
|
|
5544
5595
|
return _super.call(this, function (obj) {
|
|
5545
|
-
return obj.BaseUrl
|
|
5596
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Name, ":").concat(obj.UserSpecific, "-").concat(obj.Namespace);
|
|
5546
5597
|
}) || this;
|
|
5547
5598
|
}
|
|
5548
5599
|
return StoreCache;
|
|
5549
5600
|
}(util.Cache));
|
|
5550
|
-
var _store
|
|
5601
|
+
var _store = new StoreCache();
|
|
5551
5602
|
var ValueChangedMessage = /** @class */ (function (_super) {
|
|
5552
5603
|
__extends(ValueChangedMessage, _super);
|
|
5553
5604
|
function ValueChangedMessage(key, value, oldValue) {
|
|
@@ -5596,7 +5647,7 @@ var Store = /** @class */ (function () {
|
|
|
5596
5647
|
Store.attach = function (optsConnection, Name, Namespace, UserSpecific) {
|
|
5597
5648
|
if (Name === void 0) { Name = "HPCCApps"; }
|
|
5598
5649
|
if (UserSpecific === void 0) { UserSpecific = true; }
|
|
5599
|
-
var retVal = _store
|
|
5650
|
+
var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
|
|
5600
5651
|
return new Store(optsConnection, Name, Namespace, UserSpecific);
|
|
5601
5652
|
});
|
|
5602
5653
|
return retVal;
|
|
@@ -5620,7 +5671,7 @@ var Store = /** @class */ (function () {
|
|
|
5620
5671
|
_this._dispatch.post(new ValueChangedMessage(key, value, oldValue));
|
|
5621
5672
|
}
|
|
5622
5673
|
}).catch(function (e) {
|
|
5623
|
-
console.error("Store.set(\""
|
|
5674
|
+
console.error("Store.set(\"".concat(key, "\", \"").concat(value, "\") failed:"), e);
|
|
5624
5675
|
});
|
|
5625
5676
|
};
|
|
5626
5677
|
Store.prototype.get = function (key, broadcast) {
|
|
@@ -5639,7 +5690,7 @@ var Store = /** @class */ (function () {
|
|
|
5639
5690
|
}
|
|
5640
5691
|
return response.Value;
|
|
5641
5692
|
}).catch(function (e) {
|
|
5642
|
-
console.error("Store.get("
|
|
5693
|
+
console.error("Store.get(".concat(key, ") failed:"), e);
|
|
5643
5694
|
return undefined;
|
|
5644
5695
|
});
|
|
5645
5696
|
};
|
|
@@ -5689,7 +5740,7 @@ var Store = /** @class */ (function () {
|
|
|
5689
5740
|
_this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));
|
|
5690
5741
|
}
|
|
5691
5742
|
}).catch(function (e) {
|
|
5692
|
-
console.error("Store.delete("
|
|
5743
|
+
console.error("Store.delete(".concat(key, ") failed:"), e);
|
|
5693
5744
|
});
|
|
5694
5745
|
};
|
|
5695
5746
|
Store.prototype.monitor = function (callback) {
|
|
@@ -5702,7 +5753,7 @@ var TargetClusterCache = /** @class */ (function (_super) {
|
|
|
5702
5753
|
__extends(TargetClusterCache, _super);
|
|
5703
5754
|
function TargetClusterCache() {
|
|
5704
5755
|
return _super.call(this, function (obj) {
|
|
5705
|
-
return obj.BaseUrl
|
|
5756
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Name);
|
|
5706
5757
|
}) || this;
|
|
5707
5758
|
}
|
|
5708
5759
|
return TargetClusterCache;
|
|
@@ -5801,7 +5852,7 @@ var TargetCluster = /** @class */ (function (_super) {
|
|
|
5801
5852
|
var _this = this;
|
|
5802
5853
|
if (request === void 0) { request = {}; }
|
|
5803
5854
|
return this.machineConnection.GetTargetClusterInfo(__assign({ TargetClusters: {
|
|
5804
|
-
Item: [this.Type
|
|
5855
|
+
Item: ["".concat(this.Type, ":").concat(this.Name)]
|
|
5805
5856
|
} }, request)).then(function (response) {
|
|
5806
5857
|
var retVal = [];
|
|
5807
5858
|
for (var _i = 0, _a = response.TargetClusterInfoList.TargetClusterInfo; _i < _a.length; _i++) {
|
|
@@ -5967,14 +6018,15 @@ var Topology = /** @class */ (function (_super) {
|
|
|
5967
6018
|
}
|
|
5968
6019
|
}
|
|
5969
6020
|
}
|
|
5970
|
-
return rootProtocol
|
|
6021
|
+
return "".concat(rootProtocol, "//").concat(ip, ":").concat(port, "/");
|
|
5971
6022
|
});
|
|
5972
6023
|
};
|
|
5973
6024
|
Topology.prototype.fetchTargetClusters = function () {
|
|
5974
6025
|
var _this = this;
|
|
5975
6026
|
return this.connection.TpTargetClusterQuery({ Type: "ROOT" }).then(function (response) {
|
|
6027
|
+
var _a, _b;
|
|
5976
6028
|
_this.set({
|
|
5977
|
-
TargetClusters: response.TpTargetClusters.TpTargetCluster
|
|
6029
|
+
TargetClusters: (_b = (_a = response.TpTargetClusters) === null || _a === void 0 ? void 0 : _a.TpTargetCluster) !== null && _b !== void 0 ? _b : []
|
|
5978
6030
|
});
|
|
5979
6031
|
return _this.CTargetClusters;
|
|
5980
6032
|
});
|
|
@@ -6032,7 +6084,7 @@ var Topology = /** @class */ (function (_super) {
|
|
|
6032
6084
|
return Topology;
|
|
6033
6085
|
}(util.StateObject));
|
|
6034
6086
|
|
|
6035
|
-
|
|
6087
|
+
util.scopedLogger("clienttools/eclmeta");
|
|
6036
6088
|
var Attr = /** @class */ (function () {
|
|
6037
6089
|
function Attr(xmlAttr) {
|
|
6038
6090
|
this.__attrs = xmlAttr.$;
|
|
@@ -6064,7 +6116,7 @@ var ECLScope = /** @class */ (function () {
|
|
|
6064
6116
|
if (end === void 0) { end = Number.MAX_VALUE; }
|
|
6065
6117
|
this.name = name;
|
|
6066
6118
|
this.type = type;
|
|
6067
|
-
this.sourcePath =
|
|
6119
|
+
this.sourcePath = path__namespace.normalize(sourcePath);
|
|
6068
6120
|
this.line = +line - 1;
|
|
6069
6121
|
this.start = +start;
|
|
6070
6122
|
this.body = +body;
|
|
@@ -6189,7 +6241,7 @@ var Source = /** @class */ (function (_super) {
|
|
|
6189
6241
|
fakeNode.appendAttribute("ref", nameParts.join("."));
|
|
6190
6242
|
_this.imports = __spreadArray([
|
|
6191
6243
|
new Import(fakeNode)
|
|
6192
|
-
], _this.parseImports(xmlSource.children("Import")));
|
|
6244
|
+
], _this.parseImports(xmlSource.children("Import")), true);
|
|
6193
6245
|
return _this;
|
|
6194
6246
|
}
|
|
6195
6247
|
Source.prototype.parseImports = function (imports) {
|
|
@@ -6217,10 +6269,10 @@ var Source = /** @class */ (function (_super) {
|
|
|
6217
6269
|
};
|
|
6218
6270
|
return Source;
|
|
6219
6271
|
}(ECLScope));
|
|
6220
|
-
var isHiddenDirectory = function (source) { return
|
|
6221
|
-
var isDirectory = function (source) { return
|
|
6222
|
-
var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(
|
|
6223
|
-
var modAttrs = function (source) { return
|
|
6272
|
+
var isHiddenDirectory = function (source) { return path__namespace.basename(source).indexOf(".") === 0; };
|
|
6273
|
+
var isDirectory = function (source) { return fs__namespace.lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
|
|
6274
|
+
var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(path__namespace.extname(source).toLowerCase()) >= 0; };
|
|
6275
|
+
var modAttrs = function (source) { return fs__namespace.readdirSync(source).map(function (name) { return path__namespace.join(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
|
|
6224
6276
|
var File = /** @class */ (function (_super) {
|
|
6225
6277
|
__extends(File, _super);
|
|
6226
6278
|
function File(name, sourcePath) {
|
|
@@ -6239,7 +6291,7 @@ var Folder = /** @class */ (function (_super) {
|
|
|
6239
6291
|
Folder.prototype.suggestions = function () {
|
|
6240
6292
|
return modAttrs(this.sourcePath).map(function (folder) {
|
|
6241
6293
|
return {
|
|
6242
|
-
name:
|
|
6294
|
+
name: path__namespace.basename(folder, ".ecl"),
|
|
6243
6295
|
type: "folder"
|
|
6244
6296
|
};
|
|
6245
6297
|
});
|
|
@@ -6266,7 +6318,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6266
6318
|
}).then(function (paths) {
|
|
6267
6319
|
for (var _i = 0, _a = ["ECLCC_ECLLIBRARY_PATH", "ECLCC_PLUGIN_PATH"]; _i < _a.length; _i++) {
|
|
6268
6320
|
var knownFolder = _a[_i];
|
|
6269
|
-
if (paths[knownFolder] &&
|
|
6321
|
+
if (paths[knownFolder] && fs__namespace.existsSync(paths[knownFolder])) {
|
|
6270
6322
|
_this.walkChildFolders(paths[knownFolder], paths[knownFolder]);
|
|
6271
6323
|
}
|
|
6272
6324
|
}
|
|
@@ -6274,7 +6326,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6274
6326
|
});
|
|
6275
6327
|
};
|
|
6276
6328
|
Workspace.prototype.primeWorkspace = function () {
|
|
6277
|
-
if (
|
|
6329
|
+
if (fs__namespace.existsSync(this._workspacePath)) {
|
|
6278
6330
|
this.visitFolder(this._workspacePath, this._workspacePath);
|
|
6279
6331
|
}
|
|
6280
6332
|
};
|
|
@@ -6292,16 +6344,16 @@ var Workspace = /** @class */ (function () {
|
|
|
6292
6344
|
};
|
|
6293
6345
|
Workspace.prototype.visitFile = function (filePath, refPath, force) {
|
|
6294
6346
|
if (force === void 0) { force = false; }
|
|
6295
|
-
var filePathInfo =
|
|
6296
|
-
var pathNoExt =
|
|
6297
|
-
var name =
|
|
6347
|
+
var filePathInfo = path__namespace.parse(filePath);
|
|
6348
|
+
var pathNoExt = path__namespace.join(filePathInfo.dir, filePathInfo.name);
|
|
6349
|
+
var name = path__namespace.relative(refPath, pathNoExt).split(path__namespace.sep).join(".");
|
|
6298
6350
|
if (force || !this._test.has(name)) {
|
|
6299
6351
|
this._test.set(name, new File("", filePath));
|
|
6300
6352
|
}
|
|
6301
6353
|
};
|
|
6302
6354
|
Workspace.prototype.visitFolder = function (folderPath, refPath, force) {
|
|
6303
6355
|
if (force === void 0) { force = false; }
|
|
6304
|
-
var name =
|
|
6356
|
+
var name = path__namespace.relative(refPath, folderPath).split(path__namespace.sep).join(".");
|
|
6305
6357
|
if (force || !this._test.has(name)) {
|
|
6306
6358
|
this._test.set(name, new Folder(name, folderPath));
|
|
6307
6359
|
this.walkChildFolders(folderPath, refPath, force);
|
|
@@ -6312,7 +6364,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6312
6364
|
if (removeDupID && parentStack[parentStack.length - 1] === nameStack[0]) {
|
|
6313
6365
|
nameStack.shift();
|
|
6314
6366
|
}
|
|
6315
|
-
var stack = __spreadArray(__spreadArray([], parentStack), nameStack);
|
|
6367
|
+
var stack = __spreadArray(__spreadArray([], parentStack, true), nameStack, true);
|
|
6316
6368
|
var qid = stack.join(".");
|
|
6317
6369
|
return {
|
|
6318
6370
|
stack: stack,
|
|
@@ -6361,10 +6413,10 @@ var Workspace = /** @class */ (function () {
|
|
|
6361
6413
|
if (depth > 1) {
|
|
6362
6414
|
var sourcePath = source.sourcePath;
|
|
6363
6415
|
while (depth > 1) {
|
|
6364
|
-
sourcePath =
|
|
6416
|
+
sourcePath = path__namespace.dirname(sourcePath);
|
|
6365
6417
|
--depth;
|
|
6366
6418
|
}
|
|
6367
|
-
this.visitFolder(sourcePath,
|
|
6419
|
+
this.visitFolder(sourcePath, path__namespace.dirname(sourcePath));
|
|
6368
6420
|
}
|
|
6369
6421
|
}
|
|
6370
6422
|
this.walkSource(source);
|
|
@@ -6375,7 +6427,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6375
6427
|
var metaParser = new MetaParser();
|
|
6376
6428
|
metaParser.parse(metaXML);
|
|
6377
6429
|
this.parseSources(metaParser.sources);
|
|
6378
|
-
return metaParser.sources.map(function (source) { return
|
|
6430
|
+
return metaParser.sources.map(function (source) { return path__namespace.normalize(source.$.sourcePath); });
|
|
6379
6431
|
};
|
|
6380
6432
|
Workspace.prototype.resolveQualifiedID = function (filePath, qualifiedID, charOffset) {
|
|
6381
6433
|
var retVal;
|
|
@@ -6403,7 +6455,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6403
6455
|
retVal = this._test.get(realQID).scope;
|
|
6404
6456
|
}
|
|
6405
6457
|
if (!retVal) {
|
|
6406
|
-
realQID = __spreadArray(__spreadArray([], eclSource.name.split(".")), qualifiedIDParts).join(".");
|
|
6458
|
+
realQID = __spreadArray(__spreadArray([], eclSource.name.split("."), true), qualifiedIDParts, true).join(".");
|
|
6407
6459
|
if (this._test.has(realQID)) {
|
|
6408
6460
|
retVal = this._test.get(realQID).scope;
|
|
6409
6461
|
}
|
|
@@ -6422,7 +6474,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6422
6474
|
}());
|
|
6423
6475
|
var workspaceCache = new util.Dictionary();
|
|
6424
6476
|
function attachWorkspace(_workspacePath, eclccPath) {
|
|
6425
|
-
var workspacePath =
|
|
6477
|
+
var workspacePath = path__namespace.normalize(_workspacePath);
|
|
6426
6478
|
if (!workspaceCache.has(workspacePath)) {
|
|
6427
6479
|
var workspace = new Workspace(workspacePath, eclccPath);
|
|
6428
6480
|
workspaceCache.set(workspacePath, workspace);
|
|
@@ -6460,8 +6512,8 @@ var MetaParser = /** @class */ (function (_super) {
|
|
|
6460
6512
|
return MetaParser;
|
|
6461
6513
|
}(util.SAXStackParser));
|
|
6462
6514
|
|
|
6463
|
-
var logger
|
|
6464
|
-
var exeExt =
|
|
6515
|
+
var logger = util.scopedLogger("clienttools/eclcc");
|
|
6516
|
+
var exeExt = os__namespace.type() === "Windows_NT" ? ".exe" : "";
|
|
6465
6517
|
function tidyCRLF(inStr) {
|
|
6466
6518
|
return inStr.split("\r\n").join("\n").split("\r").join("\n");
|
|
6467
6519
|
}
|
|
@@ -6507,7 +6559,7 @@ var Version = /** @class */ (function () {
|
|
|
6507
6559
|
return this.postfix.localeCompare(other.postfix);
|
|
6508
6560
|
};
|
|
6509
6561
|
Version.prototype.toString = function () {
|
|
6510
|
-
return this.prefix
|
|
6562
|
+
return "".concat(this.prefix, "_").concat(this.major, ".").concat(this.minor, ".").concat(this.patch, "-").concat(this.postfix);
|
|
6511
6563
|
};
|
|
6512
6564
|
return Version;
|
|
6513
6565
|
}());
|
|
@@ -6556,7 +6608,7 @@ var EclccErrors = /** @class */ (function (_super) {
|
|
|
6556
6608
|
function EclccErrors(stdErr, checked) {
|
|
6557
6609
|
var _this = _super.call(this, checked) || this;
|
|
6558
6610
|
if (stdErr && stdErr.length) {
|
|
6559
|
-
for (var _i = 0, _a = stdErr.split(
|
|
6611
|
+
for (var _i = 0, _a = stdErr.split(os__namespace.EOL); _i < _a.length; _i++) {
|
|
6560
6612
|
var errLine = _a[_i];
|
|
6561
6613
|
var match = /([a-zA-Z]:\\(?:[- \w\.\d]+\\)*(?:[- \w\.\d]+)?|(?:\/[\w\.\-]+)+)\((\d*),(\d*)\) ?: ?(error|warning|info) C(\d*) ?: ?(.*)/.exec(errLine);
|
|
6562
6614
|
if (match) {
|
|
@@ -6577,7 +6629,7 @@ var EclccErrors = /** @class */ (function (_super) {
|
|
|
6577
6629
|
if (match) {
|
|
6578
6630
|
continue;
|
|
6579
6631
|
}
|
|
6580
|
-
logger
|
|
6632
|
+
logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
|
|
6581
6633
|
_this.errOther.push(errLine);
|
|
6582
6634
|
}
|
|
6583
6635
|
}
|
|
@@ -6590,16 +6642,16 @@ var EnvchkErrors = /** @class */ (function (_super) {
|
|
|
6590
6642
|
__extends(EnvchkErrors, _super);
|
|
6591
6643
|
function EnvchkErrors(filePath, stdErr, checked) {
|
|
6592
6644
|
var _this = _super.call(this, checked) || this;
|
|
6593
|
-
var content =
|
|
6645
|
+
var content = fs__namespace.readFileSync(filePath, "utf8");
|
|
6594
6646
|
content = content.replace(/\r\n/g, "\n");
|
|
6595
6647
|
_this._lines = content.split("\n");
|
|
6596
6648
|
if (stdErr && stdErr.length) {
|
|
6597
|
-
for (var _i = 0, _a = stdErr.split(
|
|
6649
|
+
for (var _i = 0, _a = stdErr.split(os__namespace.EOL); _i < _a.length; _i++) {
|
|
6598
6650
|
var errLine = _a[_i];
|
|
6599
6651
|
var match = /(Warning|Error) : Path\=(\S*?)(\[\S*\])? Message\=(.*)/.exec(errLine);
|
|
6600
6652
|
if (match) {
|
|
6601
6653
|
var severity = match[1], _path = match[2], _attr = match[3], _msg = match[4];
|
|
6602
|
-
var msg = _path
|
|
6654
|
+
var msg = "".concat(_path, " ").concat(_attr ? _attr : "", ": ").concat(_msg);
|
|
6603
6655
|
var _b = _this.locate(_path), line = _b[0], col = _b[1];
|
|
6604
6656
|
_this.errWarn.push({ filePath: filePath, line: line, col: col, msg: msg, severity: severity });
|
|
6605
6657
|
continue;
|
|
@@ -6607,7 +6659,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
|
|
|
6607
6659
|
if (match) {
|
|
6608
6660
|
continue;
|
|
6609
6661
|
}
|
|
6610
|
-
logger
|
|
6662
|
+
logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
|
|
6611
6663
|
_this.errOther.push(errLine);
|
|
6612
6664
|
}
|
|
6613
6665
|
}
|
|
@@ -6638,7 +6690,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
|
|
|
6638
6690
|
};
|
|
6639
6691
|
return EnvchkErrors;
|
|
6640
6692
|
}(Errors));
|
|
6641
|
-
function walkXmlJson
|
|
6693
|
+
function walkXmlJson(node, callback, stack) {
|
|
6642
6694
|
stack = stack || [];
|
|
6643
6695
|
stack.push(node);
|
|
6644
6696
|
for (var key in node) {
|
|
@@ -6647,11 +6699,11 @@ function walkXmlJson$1(node, callback, stack) {
|
|
|
6647
6699
|
callback(key, childNode, stack);
|
|
6648
6700
|
if (childNode instanceof Array) {
|
|
6649
6701
|
childNode.forEach(function (child) {
|
|
6650
|
-
walkXmlJson
|
|
6702
|
+
walkXmlJson(child, callback, stack);
|
|
6651
6703
|
});
|
|
6652
6704
|
}
|
|
6653
6705
|
else if (typeof childNode === "object") {
|
|
6654
|
-
walkXmlJson
|
|
6706
|
+
walkXmlJson(childNode, callback, stack);
|
|
6655
6707
|
}
|
|
6656
6708
|
}
|
|
6657
6709
|
}
|
|
@@ -6665,7 +6717,7 @@ var LocalWorkunit = /** @class */ (function () {
|
|
|
6665
6717
|
var retVal = [];
|
|
6666
6718
|
if (util.exists("W_LOCAL.Graphs", this.jsonWU)) {
|
|
6667
6719
|
var id_1 = "";
|
|
6668
|
-
walkXmlJson
|
|
6720
|
+
walkXmlJson(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
|
|
6669
6721
|
if (key === "$" && item.id) {
|
|
6670
6722
|
id_1 = item.id;
|
|
6671
6723
|
}
|
|
@@ -6694,10 +6746,10 @@ var ClientTools = /** @class */ (function () {
|
|
|
6694
6746
|
if (args === void 0) { args = []; }
|
|
6695
6747
|
this._paths = {};
|
|
6696
6748
|
this.eclccPath = eclccPath;
|
|
6697
|
-
this.binPath =
|
|
6698
|
-
this.envchkPath =
|
|
6699
|
-
this.eclBundlePath =
|
|
6700
|
-
this.cwd =
|
|
6749
|
+
this.binPath = path__namespace.dirname(this.eclccPath);
|
|
6750
|
+
this.envchkPath = path__namespace.join(this.binPath, "envchk" + exeExt);
|
|
6751
|
+
this.eclBundlePath = path__namespace.join(this.binPath, "ecl-bundle" + exeExt);
|
|
6752
|
+
this.cwd = path__namespace.normalize(cwd || this.binPath);
|
|
6701
6753
|
this.includeFolders = includeFolders;
|
|
6702
6754
|
this._legacyMode = legacyMode;
|
|
6703
6755
|
this._args = args;
|
|
@@ -6710,7 +6762,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6710
6762
|
};
|
|
6711
6763
|
ClientTools.prototype.exists = function (filePath) {
|
|
6712
6764
|
try {
|
|
6713
|
-
|
|
6765
|
+
fs__namespace.accessSync(filePath);
|
|
6714
6766
|
return true;
|
|
6715
6767
|
}
|
|
6716
6768
|
catch (e) { }
|
|
@@ -6718,12 +6770,12 @@ var ClientTools = /** @class */ (function () {
|
|
|
6718
6770
|
};
|
|
6719
6771
|
ClientTools.prototype.args = function (additionalItems) {
|
|
6720
6772
|
if (additionalItems === void 0) { additionalItems = []; }
|
|
6721
|
-
var retVal = __spreadArray([], this._args);
|
|
6773
|
+
var retVal = __spreadArray([], this._args, true);
|
|
6722
6774
|
if (this._legacyMode) {
|
|
6723
6775
|
retVal.push("-legacy");
|
|
6724
6776
|
}
|
|
6725
6777
|
return retVal.concat(this.includeFolders.map(function (includePath) {
|
|
6726
|
-
return "-I" +
|
|
6778
|
+
return "-I" + path__namespace.normalize(includePath);
|
|
6727
6779
|
})).concat(additionalItems);
|
|
6728
6780
|
};
|
|
6729
6781
|
ClientTools.prototype.version = function () {
|
|
@@ -6731,7 +6783,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6731
6783
|
if (this._version) {
|
|
6732
6784
|
return Promise.resolve(this._version);
|
|
6733
6785
|
}
|
|
6734
|
-
return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find "
|
|
6786
|
+
return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
|
|
6735
6787
|
_this._version = new Version(response.stdout);
|
|
6736
6788
|
return _this._version;
|
|
6737
6789
|
});
|
|
@@ -6741,7 +6793,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6741
6793
|
};
|
|
6742
6794
|
ClientTools.prototype.paths = function () {
|
|
6743
6795
|
var _this = this;
|
|
6744
|
-
return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find "
|
|
6796
|
+
return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
|
|
6745
6797
|
if (response && response.stdout && response.stdout.length) {
|
|
6746
6798
|
var paths = response.stdout.split(/\r?\n/);
|
|
6747
6799
|
for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
|
|
@@ -6757,20 +6809,20 @@ var ClientTools = /** @class */ (function () {
|
|
|
6757
6809
|
};
|
|
6758
6810
|
ClientTools.prototype.loadXMLDoc = function (filePath, removeOnRead) {
|
|
6759
6811
|
return new Promise(function (resolve, _reject) {
|
|
6760
|
-
var fileData =
|
|
6812
|
+
var fileData = fs__namespace.readFileSync(filePath, "ascii");
|
|
6761
6813
|
var retVal = util.xml2json(fileData);
|
|
6762
6814
|
if (removeOnRead) {
|
|
6763
|
-
|
|
6815
|
+
fs__namespace.unlink(filePath, function (err) { });
|
|
6764
6816
|
}
|
|
6765
6817
|
resolve(retVal);
|
|
6766
6818
|
});
|
|
6767
6819
|
};
|
|
6768
6820
|
ClientTools.prototype.createWU = function (filename) {
|
|
6769
6821
|
var _this = this;
|
|
6770
|
-
var tmpName =
|
|
6822
|
+
var tmpName = tmp__namespace.tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
|
|
6771
6823
|
var args = ["-o" + tmpName, "-wu"].concat([filename]);
|
|
6772
|
-
return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find "
|
|
6773
|
-
var xmlPath =
|
|
6824
|
+
return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (_response) {
|
|
6825
|
+
var xmlPath = path__namespace.normalize(tmpName + ".xml");
|
|
6774
6826
|
var contentPromise = _this.exists(xmlPath) ? _this.loadXMLDoc(xmlPath, true) : Promise.resolve({});
|
|
6775
6827
|
return contentPromise.then(function (content) {
|
|
6776
6828
|
return new LocalWorkunit(content);
|
|
@@ -6779,7 +6831,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6779
6831
|
};
|
|
6780
6832
|
ClientTools.prototype.createArchive = function (filename) {
|
|
6781
6833
|
var args = ["-E"].concat([filename]);
|
|
6782
|
-
return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find "
|
|
6834
|
+
return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
|
|
6783
6835
|
return {
|
|
6784
6836
|
content: response.stdout,
|
|
6785
6837
|
err: new EclccErrors(response.stderr, [])
|
|
@@ -6792,7 +6844,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6792
6844
|
ClientTools.prototype.fetchMeta = function (filePath) {
|
|
6793
6845
|
return Promise.all([
|
|
6794
6846
|
attachWorkspace(this.cwd),
|
|
6795
|
-
this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find "
|
|
6847
|
+
this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find ".concat(this.eclccPath))
|
|
6796
6848
|
]).then(function (_a) {
|
|
6797
6849
|
var metaWorkspace = _a[0], execFileResponse = _a[1];
|
|
6798
6850
|
if (execFileResponse && execFileResponse.stdout && execFileResponse.stdout.length) {
|
|
@@ -6805,7 +6857,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6805
6857
|
if (args === void 0) { args = ["-syntax"]; }
|
|
6806
6858
|
return Promise.all([
|
|
6807
6859
|
attachWorkspace(this.cwd),
|
|
6808
|
-
this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), ["-M", filePath])), "eclcc", "Cannot find "
|
|
6860
|
+
this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), ["-M", filePath], false)), "eclcc", "Cannot find ".concat(this.eclccPath))
|
|
6809
6861
|
]).then(function (_a) {
|
|
6810
6862
|
var metaWorkspace = _a[0], execFileResponse = _a[1];
|
|
6811
6863
|
var checked = [];
|
|
@@ -6819,9 +6871,9 @@ var ClientTools = /** @class */ (function () {
|
|
|
6819
6871
|
if (args === void 0) { args = []; }
|
|
6820
6872
|
return Promise.all([
|
|
6821
6873
|
attachWorkspace(this.cwd),
|
|
6822
|
-
this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), [filePath])), "envchk", "Cannot find "
|
|
6874
|
+
this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), [filePath], false)), "envchk", "Cannot find ".concat(this.envchkPath))
|
|
6823
6875
|
]).then(function (_a) {
|
|
6824
|
-
|
|
6876
|
+
_a[0]; var execFileResponse = _a[1];
|
|
6825
6877
|
return new EnvchkErrors(filePath, execFileResponse ? execFileResponse.stderr : "", []);
|
|
6826
6878
|
});
|
|
6827
6879
|
};
|
|
@@ -6844,13 +6896,13 @@ var ClientTools = /** @class */ (function () {
|
|
|
6844
6896
|
}
|
|
6845
6897
|
return retVal;
|
|
6846
6898
|
}),
|
|
6847
|
-
this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find "
|
|
6899
|
+
this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
|
|
6848
6900
|
.then(function (installedText) {
|
|
6849
6901
|
return tidyCRLF(installedText.stdout).split("\n");
|
|
6850
6902
|
}).then(function (installedItems) {
|
|
6851
6903
|
var allProps = {};
|
|
6852
6904
|
return Promise.all(installedItems.filter(function (ii) { return !!ii; }).map(function (ii) {
|
|
6853
|
-
return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find "
|
|
6905
|
+
return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find ".concat(_this.eclBundlePath))
|
|
6854
6906
|
.then(function (infoText) {
|
|
6855
6907
|
return tidyCRLF(infoText.stdout).split("\n");
|
|
6856
6908
|
}).then(function (info) {
|
|
@@ -6890,25 +6942,25 @@ var ClientTools = /** @class */ (function () {
|
|
|
6890
6942
|
ClientTools.prototype.bundleInstall = function (bundleUrl) {
|
|
6891
6943
|
return Promise.all([
|
|
6892
6944
|
attachWorkspace(this.cwd),
|
|
6893
|
-
this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find "
|
|
6945
|
+
this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
|
|
6894
6946
|
]).then(function (_a) {
|
|
6895
|
-
|
|
6947
|
+
_a[0]; var execFileResponse = _a[1];
|
|
6896
6948
|
return execFileResponse;
|
|
6897
6949
|
});
|
|
6898
6950
|
};
|
|
6899
6951
|
ClientTools.prototype.bundleUninstall = function (name) {
|
|
6900
6952
|
return Promise.all([
|
|
6901
6953
|
attachWorkspace(this.cwd),
|
|
6902
|
-
this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find "
|
|
6954
|
+
this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
|
|
6903
6955
|
]).then(function (_a) {
|
|
6904
|
-
|
|
6956
|
+
_a[0]; var execFileResponse = _a[1];
|
|
6905
6957
|
return execFileResponse;
|
|
6906
6958
|
});
|
|
6907
6959
|
};
|
|
6908
6960
|
ClientTools.prototype.execFile = function (cmd, cwd, args, _toolName, _notFoundError) {
|
|
6909
6961
|
return new Promise(function (resolve, _reject) {
|
|
6910
|
-
logger
|
|
6911
|
-
var child =
|
|
6962
|
+
logger.debug("".concat(cmd, " ").concat(args.join(" ")));
|
|
6963
|
+
var child = cp__namespace.spawn(cmd, args, { cwd: cwd });
|
|
6912
6964
|
var stdOut = "";
|
|
6913
6965
|
var stdErr = "";
|
|
6914
6966
|
child.stdout.on("data", function (data) {
|
|
@@ -6930,18 +6982,18 @@ var ClientTools = /** @class */ (function () {
|
|
|
6930
6982
|
}());
|
|
6931
6983
|
function locateClientToolsInFolder(rootFolder, clientTools) {
|
|
6932
6984
|
if (rootFolder) {
|
|
6933
|
-
var hpccSystemsFolder_1 =
|
|
6934
|
-
if (
|
|
6935
|
-
if (
|
|
6936
|
-
var eclccPath =
|
|
6937
|
-
if (
|
|
6985
|
+
var hpccSystemsFolder_1 = path__namespace.join(rootFolder, "HPCCSystems");
|
|
6986
|
+
if (fs__namespace.existsSync(hpccSystemsFolder_1) && fs__namespace.statSync(hpccSystemsFolder_1).isDirectory()) {
|
|
6987
|
+
if (os__namespace.type() !== "Windows_NT") {
|
|
6988
|
+
var eclccPath = path__namespace.join(hpccSystemsFolder_1, "bin", "eclcc");
|
|
6989
|
+
if (fs__namespace.existsSync(eclccPath)) {
|
|
6938
6990
|
clientTools.push(new ClientTools(eclccPath));
|
|
6939
6991
|
}
|
|
6940
6992
|
}
|
|
6941
|
-
|
|
6942
|
-
var eclccPath =
|
|
6943
|
-
if (
|
|
6944
|
-
var name_1 =
|
|
6993
|
+
fs__namespace.readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
|
|
6994
|
+
var eclccPath = path__namespace.join(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
|
|
6995
|
+
if (fs__namespace.existsSync(eclccPath)) {
|
|
6996
|
+
var name_1 = path__namespace.basename(versionFolder);
|
|
6945
6997
|
var version = new Version(name_1);
|
|
6946
6998
|
if (version.exists()) {
|
|
6947
6999
|
clientTools.push(new ClientTools(eclccPath));
|
|
@@ -6956,7 +7008,7 @@ function locateAllClientTools() {
|
|
|
6956
7008
|
if (allClientToolsCache)
|
|
6957
7009
|
return allClientToolsCache;
|
|
6958
7010
|
var clientTools = [];
|
|
6959
|
-
switch (
|
|
7011
|
+
switch (os__namespace.type()) {
|
|
6960
7012
|
case "Windows_NT":
|
|
6961
7013
|
var rootFolder86 = process.env["ProgramFiles(x86)"] || "";
|
|
6962
7014
|
if (rootFolder86) {
|
|
@@ -6985,9 +7037,9 @@ function locateAllClientTools() {
|
|
|
6985
7037
|
}
|
|
6986
7038
|
var eclccPathMsg = "";
|
|
6987
7039
|
function logEclccPath(eclccPath) {
|
|
6988
|
-
var msg = "Using eclccPath setting: "
|
|
7040
|
+
var msg = "Using eclccPath setting: ".concat(eclccPath);
|
|
6989
7041
|
if (eclccPathMsg !== msg) {
|
|
6990
|
-
logger
|
|
7042
|
+
logger.info(msg);
|
|
6991
7043
|
eclccPathMsg = msg;
|
|
6992
7044
|
}
|
|
6993
7045
|
}
|
|
@@ -6998,7 +7050,7 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
|
|
|
6998
7050
|
if (includeFolders === void 0) { includeFolders = []; }
|
|
6999
7051
|
if (legacyMode === void 0) { legacyMode = false; }
|
|
7000
7052
|
if (args === void 0) { args = []; }
|
|
7001
|
-
if (overridePath &&
|
|
7053
|
+
if (overridePath && fs__namespace.existsSync(overridePath)) {
|
|
7002
7054
|
logEclccPath(overridePath);
|
|
7003
7055
|
return Promise.resolve(new ClientTools(overridePath, cwd, includeFolders, legacyMode, args));
|
|
7004
7056
|
}
|
|
@@ -7030,33 +7082,33 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
|
|
|
7030
7082
|
// DOM Parser polyfill ---
|
|
7031
7083
|
util.root.DOMParser = xmldom.DOMParser;
|
|
7032
7084
|
if (typeof util.root.fetch === "undefined") {
|
|
7033
|
-
util.root.fetch =
|
|
7085
|
+
util.root.fetch = fetch__default["default"];
|
|
7034
7086
|
}
|
|
7035
7087
|
if (typeof util.root.AbortController === "undefined") {
|
|
7036
|
-
util.root.AbortController =
|
|
7088
|
+
util.root.AbortController = AbortController__default["default"];
|
|
7037
7089
|
}
|
|
7038
|
-
util.root.fetch.__rejectUnauthorizedAgent = new
|
|
7090
|
+
util.root.fetch.__rejectUnauthorizedAgent = new https__namespace.Agent({
|
|
7039
7091
|
rejectUnauthorized: false
|
|
7040
7092
|
});
|
|
7041
7093
|
var globalCA = "";
|
|
7042
|
-
if (
|
|
7043
|
-
if (Array.isArray(
|
|
7044
|
-
if (typeof
|
|
7045
|
-
globalCA =
|
|
7094
|
+
if (https__namespace.globalAgent.options.ca !== undefined) {
|
|
7095
|
+
if (Array.isArray(https__namespace.globalAgent.options.ca) && https__namespace.globalAgent.options.ca.length) {
|
|
7096
|
+
if (typeof https__namespace.globalAgent.options.ca[0] === "string") {
|
|
7097
|
+
globalCA = https__namespace.globalAgent.options.ca.join("\n");
|
|
7046
7098
|
}
|
|
7047
|
-
else if (
|
|
7048
|
-
globalCA =
|
|
7099
|
+
else if (https__namespace.globalAgent.options.ca[0] instanceof safeBuffer.Buffer) {
|
|
7100
|
+
globalCA = https__namespace.globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
|
|
7049
7101
|
}
|
|
7050
7102
|
}
|
|
7051
|
-
else if (typeof
|
|
7052
|
-
globalCA =
|
|
7103
|
+
else if (typeof https__namespace.globalAgent.options.ca === "string") {
|
|
7104
|
+
globalCA = https__namespace.globalAgent.options.ca;
|
|
7053
7105
|
}
|
|
7054
|
-
else if (
|
|
7055
|
-
globalCA =
|
|
7106
|
+
else if (https__namespace.globalAgent.options.ca instanceof safeBuffer.Buffer) {
|
|
7107
|
+
globalCA = https__namespace.globalAgent.options.ca.toString();
|
|
7056
7108
|
}
|
|
7057
7109
|
globalCA += "\n";
|
|
7058
7110
|
}
|
|
7059
|
-
util.root.fetch.__trustwaveAgent = new
|
|
7111
|
+
util.root.fetch.__trustwaveAgent = new https__namespace.Agent({
|
|
7060
7112
|
ca: globalCA + trustwave
|
|
7061
7113
|
});
|
|
7062
7114
|
if (typeof util.root.btoa === "undefined") {
|
|
@@ -7160,5 +7212,5 @@ exports.send = send;
|
|
|
7160
7212
|
exports.serializeRequest = serializeRequest;
|
|
7161
7213
|
exports.setTransportFactory = setTransportFactory;
|
|
7162
7214
|
exports.targetClusters = targetClusters;
|
|
7163
|
-
exports.walkXmlJson = walkXmlJson
|
|
7215
|
+
exports.walkXmlJson = walkXmlJson;
|
|
7164
7216
|
//# sourceMappingURL=index.node.js.map
|