UNPKG

@kusto/language-service-next

Version:

Azure Data Explorer (a.k.a Kusto) language service for javascript

828 lines (736 loc) 39.4 kB
/** * @version : 17.10.1 - Bridge.NET * @author : Object.NET, Inc. http://bridge.net/ * @copyright : Copyright 2008-2019 Object.NET, Inc. http://object.net/ * @license : See license.txt and https://github.com/bridgedotnet/Bridge/blob/master/LICENSE.md */ Bridge.assembly("Bridge", function ($asm, globals) { "use strict"; Bridge.define("Bridge.Console", { statics: { fields: { BODY_WRAPPER_ID: null, CONSOLE_MESSAGES_ID: null, position: null, instance$1: null }, props: { instance: { get: function () { if (Bridge.Console.instance$1 == null) { Bridge.Console.instance$1 = new Bridge.Console(); } return Bridge.Console.instance$1; } } }, ctors: { init: function () { this.BODY_WRAPPER_ID = "bridge-body-wrapper"; this.CONSOLE_MESSAGES_ID = "bridge-console-messages"; this.position = "horizontal"; } }, methods: { initConsoleFunctions: function () { var wl = System.Console.WriteLine; var w = System.Console.Write; var clr = System.Console.Clear; var debug = System.Diagnostics.Debug.writeln; var con = Bridge.global.console; if (wl) { System.Console.WriteLine = function (value) { wl(value); Bridge.Console.log(value, true); } } if (w) { System.Console.Write = function (value) { w(value); Bridge.Console.log(value, false); } } if (clr) { System.Console.Clear = function () { clr(); Bridge.Console.clear(); } } if (debug) { System.Diagnostics.Debug.writeln = function (value) { debug(value); Bridge.Console.debug(value); } } if (con && con.error) { var err = con.error; con.error = function (msg) { err.apply(con, arguments); Bridge.Console.error(msg); } } if (Bridge.isDefined(Bridge.global.window)) { Bridge.global.window.addEventListener("error", function (e) { Bridge.Console.error(System.Exception.create(e)); }); } }, logBase: function (value, newLine, messageType) { var $t; if (newLine === void 0) { newLine = true; } if (messageType === void 0) { messageType = 0; } var self = Bridge.Console.instance; var v = ""; if (value != null) { var hasToString = value.ToString !== undefined; v = (value.toString == { }.toString && !hasToString) ? JSON.stringify(value, null, 2) : hasToString ? value.ToString() : value.toString(); } if (self.bufferedOutput != null) { self.bufferedOutput = (self.bufferedOutput || "") + (v || ""); if (newLine) { self.bufferedOutput = (self.bufferedOutput || "") + ("\n" || ""); } return; } Bridge.Console.show(); if (self.isNewLine || self.currentMessageElement == null) { var m = self.buildConsoleMessage(v, messageType); self.consoleMessages.appendChild(m); self.currentMessageElement = m; } else { var m1 = Bridge.unbox(self.currentMessageElement); ($t = m1.lastChild).innerHTML = ($t.innerHTML || "") + (v || ""); } self.isNewLine = newLine; }, error: function (value) { Bridge.Console.logBase(value, true, 2); }, debug: function (value) { Bridge.Console.logBase(value, true, 1); }, log: function (value, newLine) { if (newLine === void 0) { newLine = true; } Bridge.Console.logBase(value, newLine); }, clear: function () { var self = Bridge.Console.instance$1; if (self == null) { return; } var m = self.consoleMessages; if (m != null) { while (m.firstChild != null) { m.removeChild(m.firstChild); } self.currentMessageElement = null; } if (self.bufferedOutput != null) { self.bufferedOutput = ""; } self.isNewLine = false; }, hide: function () { if (Bridge.Console.instance$1 == null) { return; } var self = Bridge.Console.instance; if (self.hidden) { return; } self.close(); }, show: function () { var self = Bridge.Console.instance; if (!self.hidden) { return; } self.init(true); }, toggle: function () { if (Bridge.Console.instance.hidden) { Bridge.Console.show(); } else { Bridge.Console.hide(); } } } }, fields: { svgNS: null, consoleHeight: null, consoleHeaderHeight: null, tooltip: null, consoleWrap: null, consoleMessages: null, bridgeIcon: null, bridgeIconPath: null, bridgeConsoleLabel: null, closeBtn: null, closeIcon: null, closeIconPath: null, consoleHeader: null, consoleBody: null, hidden: false, isNewLine: false, currentMessageElement: null, bufferedOutput: null }, ctors: { init: function () { this.svgNS = "http://www.w3.org/2000/svg"; this.consoleHeight = "300px"; this.consoleHeaderHeight = "35px"; this.hidden = true; this.isNewLine = false; }, ctor: function () { this.$initialize(); this.init(); } }, methods: { init: function (reinit) { if (reinit === void 0) { reinit = false; } this.hidden = false; var consoleWrapStyles = Bridge.fn.bind(this, $asm.$.Bridge.Console.f1)(new (System.Collections.Generic.Dictionary$2(System.String,System.String)).ctor()); var consoleHeaderStyles = $asm.$.Bridge.Console.f2(new (System.Collections.Generic.Dictionary$2(System.String,System.String)).ctor()); var consoleBodyStyles = $asm.$.Bridge.Console.f3(new (System.Collections.Generic.Dictionary$2(System.String,System.String)).ctor()); this.bridgeIcon = this.bridgeIcon || document.createElementNS(this.svgNS, "svg"); var items = Bridge.fn.bind(this, $asm.$.Bridge.Console.f4)(new (System.Collections.Generic.Dictionary$2(System.String,System.String)).ctor()); this.setAttributes(this.bridgeIcon, items); this.bridgeIconPath = this.bridgeIconPath || document.createElementNS(this.svgNS, "path"); var items2 = new (System.Collections.Generic.Dictionary$2(System.String,System.String)).ctor(); items2.setItem("d", "M19 14.4h2.2V9.6L19 7.1v7.3zm4.3-2.5v2.5h2.2l-2.2-2.5zm-8.5 2.5H17V4.8l-2.2-2.5v12.1zM0 14.4h3l7.5-8.5v8.5h2.2V0L0 14.4z"); items2.setItem("fill", "#555"); this.setAttributes(this.bridgeIconPath, items2); this.bridgeConsoleLabel = this.bridgeConsoleLabel || document.createElement("span"); this.bridgeConsoleLabel.innerHTML = "Bridge Console"; this.closeBtn = this.closeBtn || document.createElement("span"); this.closeBtn.setAttribute("style", "position: relative;display: inline-block;float: right;cursor: pointer"); this.closeIcon = this.closeIcon || document.createElementNS(this.svgNS, "svg"); var items3 = Bridge.fn.bind(this, $asm.$.Bridge.Console.f5)(new (System.Collections.Generic.Dictionary$2(System.String,System.String)).ctor()); this.setAttributes(this.closeIcon, items3); this.closeIconPath = this.closeIconPath || document.createElementNS(this.svgNS, "path"); var items4 = $asm.$.Bridge.Console.f6(new (System.Collections.Generic.Dictionary$2(System.String,System.String)).ctor()); this.setAttributes(this.closeIconPath, items4); this.tooltip = this.tooltip || document.createElement("div"); this.tooltip.innerHTML = "Refresh page to open Bridge Console"; this.tooltip.setAttribute("style", "position: absolute;right: 30px;top: -6px;white-space: nowrap;padding: 7px;border-radius: 3px;background-color: rgba(0, 0, 0, 0.75);color: #eee;text-align: center;visibility: hidden;opacity: 0;-webkit-transition: all 0.25s ease-in-out;transition: all 0.25s ease-in-out;z-index: 1;"); Bridge.Console.position = "horizontal"; if (Bridge.referenceEquals(Bridge.Console.position, "horizontal")) { this.wrapBodyContent(); consoleWrapStyles.setItem("right", "0"); consoleHeaderStyles.setItem("border-top", "1px solid #a3a3a3"); consoleBodyStyles.setItem("height", this.consoleHeight); } else if (Bridge.referenceEquals(Bridge.Console.position, "vertical")) { var consoleWidth = "400px"; document.body.style.marginLeft = consoleWidth; consoleWrapStyles.setItem("top", "0"); consoleWrapStyles.setItem("width", consoleWidth); consoleWrapStyles.setItem("border-right", "1px solid #a3a3a3"); consoleBodyStyles.setItem("height", "100%"); } this.consoleWrap = this.consoleWrap || document.createElement("div"); this.consoleWrap.setAttribute("style", this.obj2Css(consoleWrapStyles)); this.consoleHeader = this.consoleHeader || document.createElement("div"); this.consoleHeader.setAttribute("style", this.obj2Css(consoleHeaderStyles)); this.consoleBody = this.consoleBody || document.createElement("div"); this.consoleBody.setAttribute("style", this.obj2Css(consoleBodyStyles)); this.consoleMessages = this.consoleMessages || document.createElement("ul"); var cm = this.consoleMessages; cm.id = Bridge.Console.CONSOLE_MESSAGES_ID; cm.setAttribute("style", "margin: 0;padding: 0;list-style: none;"); if (!reinit) { this.bridgeIcon.appendChild(this.bridgeIconPath); this.closeIcon.appendChild(this.closeIconPath); this.closeBtn.appendChild(this.closeIcon); this.closeBtn.appendChild(this.tooltip); this.consoleHeader.appendChild(this.bridgeIcon); this.consoleHeader.appendChild(this.bridgeConsoleLabel); this.consoleHeader.appendChild(this.closeBtn); this.consoleBody.appendChild(cm); this.consoleWrap.appendChild(this.consoleHeader); this.consoleWrap.appendChild(this.consoleBody); document.body.appendChild(this.consoleWrap); this.closeBtn.addEventListener("click", Bridge.fn.cacheBind(this, this.close)); this.closeBtn.addEventListener("mouseover", Bridge.fn.cacheBind(this, this.showTooltip)); this.closeBtn.addEventListener("mouseout", Bridge.fn.cacheBind(this, this.hideTooltip)); } }, showTooltip: function () { var self = Bridge.Console.instance; self.tooltip.style.right = "20px"; self.tooltip.style.visibility = "visible"; self.tooltip.style.opacity = "1"; }, hideTooltip: function () { var self = Bridge.Console.instance; self.tooltip.style.right = "30px"; self.tooltip.style.opacity = "0"; }, close: function () { this.hidden = true; this.consoleWrap.style.display = "none"; if (Bridge.referenceEquals(Bridge.Console.position, "horizontal")) { this.unwrapBodyContent(); } else if (Bridge.referenceEquals(Bridge.Console.position, "vertical")) { document.body.removeAttribute("style"); } }, wrapBodyContent: function () { if (document.body == null) { return; } var bodyStyle = document.defaultView.getComputedStyle(document.body, null); var bodyPaddingTop = bodyStyle.paddingTop; var bodyPaddingRight = bodyStyle.paddingRight; var bodyPaddingBottom = bodyStyle.paddingBottom; var bodyPaddingLeft = bodyStyle.paddingLeft; var bodyMarginTop = bodyStyle.marginTop; var bodyMarginRight = bodyStyle.marginRight; var bodyMarginBottom = bodyStyle.marginBottom; var bodyMarginLeft = bodyStyle.marginLeft; var div = document.createElement("div"); div.id = Bridge.Console.BODY_WRAPPER_ID; div.setAttribute("style", "height: calc(100vh - " + (this.consoleHeight || "") + " - " + (this.consoleHeaderHeight || "") + ");" + "margin-top: calc(-1 * " + "(" + (((bodyMarginTop || "") + " + " + (bodyPaddingTop || "")) || "") + "));" + "margin-right: calc(-1 * " + "(" + (((bodyMarginRight || "") + " + " + (bodyPaddingRight || "")) || "") + "));" + "margin-left: calc(-1 * " + "(" + (((bodyMarginLeft || "") + " + " + (bodyPaddingLeft || "")) || "") + "));" + "padding-top: calc(" + (((bodyMarginTop || "") + " + " + (bodyPaddingTop || "")) || "") + ");" + "padding-right: calc(" + (((bodyMarginRight || "") + " + " + (bodyPaddingRight || "")) || "") + ");" + "padding-bottom: calc(" + (((bodyMarginBottom || "") + " + " + (bodyPaddingBottom || "")) || "") + ");" + "padding-left: calc(" + (((bodyMarginLeft || "") + " + " + (bodyPaddingLeft || "")) || "") + ");" + "overflow-x: auto;" + "box-sizing: border-box !important;"); while (document.body.firstChild != null) { div.appendChild(document.body.firstChild); } document.body.appendChild(div); }, unwrapBodyContent: function () { var bridgeBodyWrap = document.getElementById(Bridge.Console.BODY_WRAPPER_ID); if (bridgeBodyWrap == null) { return; } while (bridgeBodyWrap.firstChild != null) { document.body.insertBefore(bridgeBodyWrap.firstChild, bridgeBodyWrap); } document.body.removeChild(bridgeBodyWrap); }, buildConsoleMessage: function (message, messageType) { var messageItem = document.createElement("li"); messageItem.setAttribute("style", "padding:5px 10px;border-bottom:1px solid #f0f0f0;position:relative;"); var messageIcon = document.createElementNS(this.svgNS, "svg"); var items5 = Bridge.fn.bind(this, $asm.$.Bridge.Console.f7)(new (System.Collections.Generic.Dictionary$2(System.String,System.String)).ctor()); this.setAttributes(messageIcon, items5); var color = "#555"; if (messageType === 2) { color = "#d65050"; } else if (messageType === 1) { color = "#1800FF"; } var messageIconPath = document.createElementNS(this.svgNS, "path"); var items6 = new (System.Collections.Generic.Dictionary$2(System.String,System.String)).ctor(); items6.setItem("d", "M3.8 3.5L.7 6.6s-.1.1-.2.1-.1 0-.2-.1l-.2-.3C0 6.2 0 6.2 0 6.1c0 0 0-.1.1-.1l2.6-2.6L.1.7C0 .7 0 .6 0 .6 0 .5 0 .5.1.4L.4.1c0-.1.1-.1.2-.1s.1 0 .2.1l3.1 3.1s.1.1.1.2-.1.1-.2.1z"); items6.setItem("fill", color); this.setAttributes(messageIconPath, items6); messageIcon.appendChild(messageIconPath); var messageContainer = document.createElement("div"); messageContainer.innerText = message; messageContainer.setAttribute("style", "color:" + (color || "") + ";white-space:pre;margin-left:12px;line-height:1.4;min-height:18px;"); messageItem.appendChild(messageIcon); messageItem.appendChild(messageContainer); return messageItem; }, setAttributes: function (el, attrs) { var $t; $t = Bridge.getEnumerator(attrs); try { while ($t.moveNext()) { var item = $t.Current; el.setAttribute(item.key, item.value); } } finally { if (Bridge.is($t, System.IDisposable)) { $t.System$IDisposable$Dispose(); } } }, obj2Css: function (obj) { var $t; var str = ""; $t = Bridge.getEnumerator(obj); try { while ($t.moveNext()) { var item = $t.Current; str = (str || "") + (((item.key.toLowerCase() || "") + ":" + (item.value || "") + ";") || ""); } } finally { if (Bridge.is($t, System.IDisposable)) { $t.System$IDisposable$Dispose(); } } return str; } } }); Bridge.ns("Bridge.Console", $asm.$); Bridge.apply($asm.$.Bridge.Console, { f1: function (_o1) { _o1.add("position", "fixed"); _o1.add("left", "0"); _o1.add("bottom", "0"); _o1.add("padding-top", this.consoleHeaderHeight); _o1.add("background-color", "#fff"); _o1.add("font", "normal normal normal 13px/1 sans-serif"); _o1.add("color", "#555"); return _o1; }, f2: function (_o2) { _o2.add("position", "absolute"); _o2.add("top", "0"); _o2.add("left", "0"); _o2.add("right", "0"); _o2.add("height", "35px"); _o2.add("padding", "9px 15px 7px 10px"); _o2.add("border-bottom", "1px solid #ccc"); _o2.add("background-color", "#f3f3f3"); _o2.add("box-sizing", "border-box"); return _o2; }, f3: function (_o3) { _o3.add("overflow-x", "auto"); _o3.add("font-family", "Menlo, Monaco, Consolas, 'Courier New', monospace"); return _o3; }, f4: function (_o4) { _o4.add("xmlns", this.svgNS); _o4.add("width", "25.5"); _o4.add("height", "14.4"); _o4.add("viewBox", "0 0 25.5 14.4"); _o4.add("style", "margin: 0 3px 3px 0;vertical-align:middle;"); return _o4; }, f5: function (_o5) { _o5.add("xmlns", this.svgNS); _o5.add("width", "11.4"); _o5.add("height", "11.4"); _o5.add("viewBox", "0 0 11.4 11.4"); _o5.add("style", "vertical-align: middle;"); return _o5; }, f6: function (_o6) { _o6.add("d", "M11.4 1.4L10 0 5.7 4.3 1.4 0 0 1.4l4.3 4.3L0 10l1.4 1.4 4.3-4.3 4.3 4.3 1.4-1.4-4.3-4.3"); _o6.add("fill", "#555"); return _o6; }, f7: function (_o1) { _o1.add("xmlns", this.svgNS); _o1.add("width", "3.9"); _o1.add("height", "6.7"); _o1.add("viewBox", "0 0 3.9 6.7"); _o1.add("style", "vertical-align:middle;position: absolute;top: 10.5px;"); return _o1; } }); Bridge.init(function () { Bridge.Console.initConsoleFunctions(); }); }); // SIG // Begin signature block // SIG // MIInRAYJKoZIhvcNAQcCoIInNTCCJzECAQExDzANBglg // SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor // SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC // SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg // SIG // npOZEttwfLOvxsSAqCD+4RvnugblfJEeQcqnl+m1dpig // SIG // ggy6MIIF9TCCA92gAwIBAgITMwAAAh1NGchO1w9XSAAA // SIG // AAACHTANBgkqhkiG9w0BAQsFADBXMQswCQYDVQQGEwJV // SIG // UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u // SIG // MSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5n // SIG // IFBDQSAyMDI0MB4XDTI2MDQxNjE4NTk0M1oXDTI3MDQx // SIG // NTE4NTk0M1owdDELMAkGA1UEBhMCVVMxEzARBgNVBAgT // SIG // Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc // SIG // BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEeMBwG // SIG // A1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMIIBIjAN // SIG // BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0L3sF8cf // SIG // YGWRQumLNVgWsvASfJBgOCUJx+QjGn6jgEpU6SvR/KOW // SIG // V017dHGlUEzTFD7eOOcF2A/nRbWilk8A59SOdqFEqwvb // SIG // yYp9RrKrfs8iiS+Q4N3kF20DUetQ5jMttBi0yDt0hXnf // SIG // UX4v6KYYAixhSw0d69Crx48DG/42FktHHpVf+C89uy3w // SIG // HpJvL/ROSF2nol2wFGGSitPdJ+AlZdyQbWzfvQ7SPUjb // SIG // v8o76M1udv7u0V/07aWvyg5abqJGfmXG75rXfbq/YBS7 // SIG // 2c4eNaPTLBP3JULXWhVhr7qOibmv57aYJHstxOf7wRXv // SIG // jCTxuqYXZ7qOq+e2bnQrnYiNWwIDAQABo4IBmzCCAZcw // SIG // DgYDVR0PAQH/BAQDAgeAMB8GA1UdJQQYMBYGCisGAQQB // SIG // gjdMCAEGCCsGAQUFBwMDMB0GA1UdDgQWBBR+kLjMKnDx // SIG // tIUJUOnOYwrU0y61XjBFBgNVHREEPjA8pDowODEeMBwG // SIG // A1UECxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMRYwFAYD // SIG // VQQFEw0yMzAwMTIrNTA3NTU5MB8GA1UdIwQYMBaAFH9Z // SIG // P1Qh2q1P7wXl5qPXLQaUEggxMGAGA1UdHwRZMFcwVaBT // SIG // oFGGT2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv // SIG // cHMvY3JsL01pY3Jvc29mdCUyMENvZGUlMjBTaWduaW5n // SIG // JTIwUENBJTIwMjAyNC5jcmwwbQYIKwYBBQUHAQEEYTBf // SIG // MF0GCCsGAQUFBzAChlFodHRwOi8vd3d3Lm1pY3Jvc29m // SIG // dC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMENv // SIG // ZGUlMjBTaWduaW5nJTIwUENBJTIwMjAyNC5jcnQwDAYD // SIG // VR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEASk22 // SIG // Do88Exvw1xms/bOvn0Hmk7Q3BZjGPuVMlRQso+z7/uYt // SIG // +6n1/JUi/7QSH2EH1rDLgUJX2bqyQ+q+B1Sdgnh/tX4I // SIG // qvHXB3VSqGd0mtql6F93KvYkvHFW9Oge/uf1yeyNDsRx // SIG // /Xw7Lyd098OVf2bQCBZi65fj9ArRvvdrs0bJ9J023RYz // SIG // pCzC1jywFN0x6ISkZUhDIBSaT5JuZ+VAGd+cV+hVgqwy // SIG // 7Eim+eeW04n8GvJiQcHZaH9G5n2InR/ncWdRXQ8by5zZ // SIG // fc3irAOJHo2miKqiD4LocALYuUJewZUzaCTcMQrwZqlt // SIG // jEC5wpGDf1VVLEd1dsf63Ezc6AX/2f0qUTr3WgNmTjnd // SIG // boqFybd7XS0O7x6aqYm9Cn1q/xVl1tdKt/FcXwp0UAas // SIG // 20rs7Ue5xDLs1+wpPgf12jw13daoe9vkGMgdGdlc1pjv // SIG // c7J2/VKv3cLvCxnkKp8ruu0gxgAr514otn2/flEuPdlU // SIG // 510pxSsqsIM1MhTLWStf7B2E7+mxuE7UFMoEMUzfmVfm // SIG // iSJSjtjKme2yqwJzs0vZujYKE3VjqtdW0zmcCpSBFfxI // SIG // VfUlpA5naUf4Tz09r+kxI+BfD0/8x40XsyFOXPwxpbf1 // SIG // YWP6StF5CbRMjJpktQTLY1P66gWVTCJt3Z8ULP0wQcq/ // SIG // gn/Gda+2on0FUPlkqs4wgga9MIIEpaADAgECAhMzAAAA // SIG // OTu2Nxm/Bh1nAAAAAAA5MA0GCSqGSIb3DQEBDAUAMIGI // SIG // MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv // SIG // bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj // SIG // cm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNy // SIG // b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg // SIG // MjAxMTAeFw0yNDA4MDgyMDU0MThaFw0zNjAzMjIyMjEz // SIG // MDRaMFcxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNy // SIG // b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jv // SIG // c29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMjQwggIiMA0G // SIG // CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDYAZwe4zjH // SIG // qpUWBzWtuub+CGPXx/EyoXph3zyDXtYKS2ld3YYN9uFs // SIG // B9Oi3B26Z7AbpAgzYra8qNHbUvxFuiP8hC/2y0mPISqW // SIG // 30LlrrAT6/ams2HA8Qlv6p42+SbCNbPGzToN21QE70FS // SIG // +LXH9N2k8nLM/EHgnTNJf8h0TmyfUKmszNa+lTxDieyy // SIG // /rhBG+98OkArobPPWtbr9c3qzmDJ7J3kUcAm6cltdSHI // SIG // IFNHESgw6taY1ScyGyBevqIl120XjrIHiPM7tRckHytH // SIG // 1ZGsmvEplR0P7Tn9t5meFvZNEYttkFvad1IEguTlA5LS // SIG // scXAphi+rVy3zhklhyCFeGK0yU0+jzbcuURKIxybmRwK // SIG // 5BfVZx0xEVqE4wM3yN5D/uW+GpVHYYAGe7bTrtW1Z13x // SIG // 2qj2Jdqz7NtI4tNyzlVrIf62nYBNe3rOYS/repVdHlR6 // SIG // 1YbLLETlibs9jFzAre4sO5RTxvS1yho7JqJ59oKLRnRy // SIG // LhIOSZyTCVZosXeS0ZZJoGEWSs4cUgsMqBiKtD4WgO2P // SIG // lT3LeaQh5Io3CCA5tJ5ZCvtCsnqaJXKhptE/xmEETIRy // SIG // ZRjjplUKKd+sFFVGJJVMvvrw1nhIBKOLO4cTepiG39jE // SIG // iEP4iHzGYCcQuvaLpDFFwqzgt0pBP8SJIKX5dtjDNYrZ // SIG // Gd+ZzV5DKJVNZQIDAQABo4IBTjCCAUowDgYDVR0PAQH/ // SIG // BAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQW // SIG // BBR/WT9UIdqtT+8F5eaj1y0GlBIIMTAZBgkrBgEEAYI3 // SIG // FAIEDB4KAFMAdQBiAEMAQTAPBgNVHRMBAf8EBTADAQH/ // SIG // MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO4eqnxzHRI4k0 // SIG // MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWlj // SIG // cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jv // SIG // b0NlckF1dDIwMTFfMjAxMV8wM18yMi5jcmwwXgYIKwYB // SIG // BQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3 // SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0Nl // SIG // ckF1dDIwMTFfMjAxMV8wM18yMi5jcnQwDQYJKoZIhvcN // SIG // AQEMBQADggIBABSUHzgoT+6J5+nyyDCq0pTdVmCsAxYA // SIG // HXcpjlDtxazPHewf1v4kOg8V7A5+w+VuMDMGHi8rLXBK // SIG // n5I8+DVEUYGs8jLuckc0IeC6owOLUrU3CYdaKRMaO55+ // SIG // T7jwWJ27tPkx0rlR03tFU0z1YYpcv6Yhaw6N2sUPT+Av // SIG // jpecnrftoE33pCAkucUvnGH0iL4J9CZLFQVTGFSOUBbv // SIG // 6oZy4bBBRFMxvH779IY4JDvpZKVfbcuhpDeL3Z3e8muk // SIG // Omkfct+GojNapsWsQYujlJ8jZen5Lrp/3YkxZ2Ay06aT // SIG // pK/5oOVknwog1TDQsbY+MDyguTph5tQ0CLfzDaJG2x91 // SIG // BrBT9UG87C6HLkqiwrx9PSKN3wz05rHEfWO+RuKl+0U1 // SIG // /AHQT6NCOjhKI39/c7hWbdKjh5uuWFkBOvXGTNrnhNTA // SIG // dOXTTYByvYExO8yryv34PAdqo1vPDE/1heVebr2Rramv // SIG // RUi9kWswKwPqwz7n+iRmM+B6YDGRweEurM1kimAb9FYr // SIG // As38YHlPnarl1vW3dGrmJTgefAz3DmCnXN0nveIPsS+K // SIG // XBIWweeCToAJMGE7v/XS3h9qQ6niWQAAVQ1kUAml3zuS // SIG // 4MisCgi2F6YoK2WAo1EgXK/lXvDxVjIVU0JdL+KvCfwF // SIG // JkDeVuJ9dNXGNi+AOxk0BtYd9hxwL30BElj9MYIZ4jCC // SIG // Gd4CAQEwbjBXMQswCQYDVQQGEwJVUzEeMBwGA1UEChMV // SIG // TWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9N // SIG // aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDI0AhMz // SIG // AAACHU0ZyE7XD1dIAAAAAAIdMA0GCWCGSAFlAwQCAQUA // SIG // oIGuMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwG // SIG // CisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqG // SIG // SIb3DQEJBDEiBCApYuNLHd7myvyTlZXuX9Gbme+klaob // SIG // qnaugB6yRFMeqzBCBgorBgEEAYI3AgEMMTQwMqAUgBIA // SIG // TQBpAGMAcgBvAHMAbwBmAHShGoAYaHR0cDovL3d3dy5t // SIG // aWNyb3NvZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAIL0 // SIG // XEmTrUWiJvy7bSlFqOxyUPGNjpR/3oqqsyvpaebt7Dfw // SIG // kuqsCuhfkSKCA0Blp6WDjpX/sUqmeskO6K9y4EzkKi/l // SIG // O1MCsvCOGf5vJyG5Z6SY92VJQQLOsD4Pka2kHV2jfXDO // SIG // EksoZZdMrKAnRlDxhNZg/nN0zLhRaUn7VpVi/lEelWPX // SIG // 4Gn4GrWEga8EE66ZTmRssRcCAyv4vwZEPvTFeR4pcnrk // SIG // pyT/KzlNa7k4M8UBS5ybm1sGkvkH+dwO2UcRNMNi0Z4P // SIG // JaTAUJXQqUL+TmXjuZjY6jfOfxXqPW2LkdZ5pGGN0K24 // SIG // WbB4AaWdfHh4SW6Njw/qLSzyr8C8qBWhgheUMIIXkAYK // SIG // KwYBBAGCNwMDATGCF4Awghd8BgkqhkiG9w0BBwKgghdt // SIG // MIIXaQIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBUgYLKoZI // SIG // hvcNAQkQAQSgggFBBIIBPTCCATkCAQEGCisGAQQBhFkK // SIG // AwEwMTANBglghkgBZQMEAgEFAAQg1w2q+Ei5IB1lk+/g // SIG // RTl4H/jjYHQjuLDigd4KKs6gbWoCBmnnXIxMgxgTMjAy // SIG // NjA1MDYwNTM0NTMuMjczWjAEgAIB9KCB0aSBzjCByzEL // SIG // MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x // SIG // EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv // SIG // c29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9z // SIG // b2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMe // SIG // blNoaWVsZCBUU1MgRVNOOkEwMDAtMDVFMC1EOTQ3MSUw // SIG // IwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2 // SIG // aWNloIIR6jCCByAwggUIoAMCAQICEzMAAAIruwBQ/007 // SIG // mqEAAQAAAiswDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE // SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV // SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD // SIG // b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp // SIG // bWUtU3RhbXAgUENBIDIwMTAwHhcNMjYwMjE5MTk0MDEx // SIG // WhcNMjcwNTE3MTk0MDExWjCByzELMAkGA1UEBhMCVVMx // SIG // EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl // SIG // ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh // SIG // dGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2Eg // SIG // T3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1Mg // SIG // RVNOOkEwMDAtMDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNy // SIG // b3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIICIjANBgkq // SIG // hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAl95oujg97MlK // SIG // kJuEKoJKyj23LCv0Md32HLS/PlTNbjmN26KIuRscGrk4 // SIG // EH+iRRyE06MUu4I6ipSvDhS8y+lE5dI8RCubeg7jnICV // SIG // 3b7rYpqE5TktAt5MiE1wQF6I/4KeoUUfc+lkYqdSrZIp // SIG // W93SVwo0Kk/T9grro6/lc/K/mfow5dPY4v4nP+Bt+K95 // SIG // lcI7P/xp8fT7t9VfK1xYnDYgM8abm2sKW3fKan85Vk9r // SIG // 5xt5BfZejIkRG7yd1xy1MB0LIdLf060hcf7P8gqqSVmC // SIG // eqApRu9Lb7BR9GkT/MAeHD/whWtiC75NuotznCQZfqai // SIG // ox00gcvZr8EzxA5Z83KNDbfEeqUj012YAbLHB4aCnwtF // SIG // kJjs2NpHl2wJkU3GTMl8+b/wCW5qCNMtOwWs77eTZF3X // SIG // RvUxK0FsLbBciCqxJQ4Fnx3gqE7tcLtnIg93Su9s93Gt // SIG // oM6BA8U9o/QVyFCmok803UD0bADGjt3VNM2hsDDJcLUi // SIG // cg4deGBIGaFLub0vDLoDKnazY6Yci+ucioY6QFm4WJCB // SIG // zv9LmY7vebT/M2TalyEYeLXX1hyTwE5/a/nMZMrodsdF // SIG // S3X8dZZivV9zYx9DbYALOSQf8DpZMrrncZhU31lckay9 // SIG // +4rKTmfGjwBYL8kenDU5BqZBaN+SUY3IjZmYlOKk/VLc // SIG // vleYLnRZNY8CAwEAAaOCAUkwggFFMB0GA1UdDgQWBBQ+ // SIG // Fo7kE1CW7W3d45r2ZLtBWdnlNjAfBgNVHSMEGDAWgBSf // SIG // pxVdAF5iXYP05dJlpxtTNRnpcjBfBgNVHR8EWDBWMFSg // SIG // UqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtp // SIG // b3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIw // SIG // UENBJTIwMjAxMCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBe // SIG // MFwGCCsGAQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29m // SIG // dC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRp // SIG // bWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNV // SIG // HRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMI // SIG // MA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC // SIG // AgEAzvwirHIhDPJK9X6h+E5X0+uhDaE48V8PNdKchKtD // SIG // 3a4C8H4E98ftYM+wkB7VHXr6jEOah8gy4ZuqU/ddQmJB // SIG // jfuoPjFO3zGE6+nd0sYnicASKFpH0eIO0orRszClOOuS // SIG // hGHo33XaFIKLwv8XEaWgCzuad/wNuPAcoSYjLbQUDQ7b // SIG // E/x2ghcERQlEW8v3/HNZJMvBfMZAlxc/vzLWeXdZVhY8 // SIG // DiNoHmR1qvV4oQzoHnuZ0tpKKOVep/FxtttFE3r1X/qY // SIG // JqSB+9Vyg1SGExhmSbOsj5Xydml6sNTBODUeqJDbGNz9 // SIG // TN9R+gzGEXyRjQTXqefeZFxod2MwN3AosoPo5iefIf30 // SIG // 7454CKblBXzg6Q4xcdInNWKCwDcYQhd0YUvamDOyuNDR // SIG // ISrIWLmgJCBtlwSmIoN6/9P29LI74wcLOeQGKJzJtwPK // SIG // nF/+pPVX3NJr/XbaJx7lhnwNm/qhNqqQp4cxm3Qx6u4j // SIG // kmRMNNZzbqQDH9XONZPSKE0Ns94sOsOGWaCzsoOEyjG6 // SIG // dZK6U+La4qf8t9Ar+ZIcqggzaml0KQZDmDjfC4LaEN2p // SIG // lTl+4seY3a58f71MU1EooF761nS+1JPJKZktM7aNk6Mu // SIG // 2k+aAcwk734/YifwTfxNb4RQZISQr2ez1b7DEp005pMd // SIG // hWpdpVZM7bgCOOHw/7siyXWjEEswggdxMIIFWaADAgEC // SIG // AhMzAAAAFcXna54Cm0mZAAAAAAAVMA0GCSqGSIb3DQEB // SIG // CwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz // SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE // SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQD // SIG // EylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRo // SIG // b3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5 // SIG // MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI // SIG // EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w // SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAk // SIG // BgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy // SIG // MDEwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC // SIG // AgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwHB9KpbE51 // SIG // yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64 // SIG // NmeFRiMMtY0Tz3cywBAY6GB9alKDRLemjkZrBxTzxXb1 // SIG // hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6xKr9cmmv // SIG // Haus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoP // SIG // z130/o5Tz9bshVZN7928jaTjkY+yOSxRnOlwaQ3KNi1w // SIG // jjHINSi947SHJMPgyY9+tVSP3PoFVZhtaDuaRr3tpK56 // SIG // KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7 // SIG // vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF803RKJ1v2l // SIG // IH1+/NmeRd+2ci/bfV+AutuqfjbsNkz2K26oElHovwUD // SIG // o9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz1dhz // SIG // PUNOwTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtco // SIG // dgLiMxhy16cg8ML6EgrXY28MyTZki1ugpoMhXV8wdJGU // SIG // lNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsl // SIG // uq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W2 // SIG // 9R6HXtqPnhZyacaue7e3PmriLq0CAwEAAaOCAd0wggHZ // SIG // MBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUC // SIG // BBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQW // SIG // BBSfpxVdAF5iXYP05dJlpxtTNRnpcjBcBgNVHSAEVTBT // SIG // MFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUFBwIBFjNo // SIG // dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0Rv // SIG // Y3MvUmVwb3NpdG9yeS5odG0wEwYDVR0lBAwwCgYIKwYB // SIG // BQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEw // SIG // CwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYD // SIG // VR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYD // SIG // VR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3Nv // SIG // ZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2Vy // SIG // QXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4w // SIG // TDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3Nv // SIG // ZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAx // SIG // MC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1V // SIG // ffwqreEsH2cBMSRb4Z5yS/ypb+pcFLY+TkdkeLEGk5c9 // SIG // MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi7ulm // SIG // ZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pv // SIG // vinLbtg/SHUB2RjebYIM9W0jVOR4U3UkV7ndn/OOPcbz // SIG // aN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n4ECWOKz3 // SIG // +SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsId // SIG // w2FzLixre24/LAl4FOmRsqlb30mjdAy87JGA0j3mSj5m // SIG // O0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Qq3UwxTSwethQ // SIG // /gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9 // SIG // swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu // SIG // +yFUa2pFEUep8beuyOiJXk+d0tBMdrVXVAmxaQFEfnyh // SIG // YWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFR // SIG // hLy/AsGConsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0 // SIG // +CQ1ZyvgDbjmjJnW4SLq8CdCPSWU5nR0W2rRnj7tfqAx // SIG // M328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQ // SIG // wXEGahC0HVUzWLOhcGbyoYIDTTCCAjUCAQEwgfmhgdGk // SIG // gc4wgcsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo // SIG // aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK // SIG // ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsT // SIG // HE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAl // SIG // BgNVBAsTHm5TaGllbGQgVFNTIEVTTjpBMDAwLTA1RTAt // SIG // RDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3Rh // SIG // bXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUACaw/dMpB // SIG // 6aP9ABm+5ZsL7ArakTmggYMwgYCkfjB8MQswCQYDVQQG // SIG // EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE // SIG // BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv // SIG // cnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt // SIG // ZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQsFAAIF // SIG // AO2k9o0wIhgPMjAyNjA1MDUyMzA2NTNaGA8yMDI2MDUw // SIG // NjIzMDY1M1owdDA6BgorBgEEAYRZCgQBMSwwKjAKAgUA // SIG // 7aT2jQIBADAHAgEAAgIHpTAHAgEAAgITrDAKAgUA7aZI // SIG // DQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZ // SIG // CgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqG // SIG // SIb3DQEBCwUAA4IBAQB/Pbfc91NPCjb+wsASlhItxcQS // SIG // QitF8e6YcHBvl8fC+sMkpuBHEssRflByM0dUzcWGA+K4 // SIG // y+olcSO++X7PTD3i171z09uIS7FcAHJGQjP9yNhdwoVx // SIG // h8lbLADbEehKp8S/nRxlZXfOj8/alaHDzVWinsC63kg1 // SIG // fAd3J8du/4yri0wUYgYC8OoejpOaOlQ98XKyLqg29Hv4 // SIG // whEVv5hdoCUXpkvxFn6shL6tLx0pxAIYokx+m4P8e3vn // SIG // rD43gM6UKTbfQsOOrJ7RMgfIwqHeaOhcQtgcmaUPl7G5 // SIG // C/DxG98ru+JjL3BPo2ac1FgarpfE73QiTeDmbQ5M4djB // SIG // GE7DCI+BMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMC // SIG // VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT // SIG // B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw // SIG // b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt // SIG // U3RhbXAgUENBIDIwMTACEzMAAAIruwBQ/007mqEAAQAA // SIG // AiswDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJ // SIG // AzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQg // SIG // Ee4yH6zATMYGdzdto+M2T7d1tZ5ZJ6BZWYRANKNO55ow // SIG // gfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCByDiP0 // SIG // P5BX7WAPjNjmPtQcd2owQ+v1gwLT09rxZL9uUjCBmDCB // SIG // gKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo // SIG // aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK // SIG // ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT // SIG // HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMz // SIG // AAACK7sAUP9NO5qhAAEAAAIrMCIEIF4bMLsZTM3naaih // SIG // KaVOzZsFYuf/KgnFcMyscW5eS4EaMA0GCSqGSIb3DQEB // SIG // CwUABIICAACregb7JKgZDkVMFqzU9HOXj5SCxFG/xdGa // SIG // mWk4qlHYuWPJfvrbvaiGOGeAt4gaC5voOxi6SEXShbQC // SIG // c4in0/+sxVTJlUuURp+uI6Z1L+jQA0fnnX71pqOgd+LT // SIG // HlKhh+VZjbI9WFAfTNv4AsAannuMQ88fWmRIDJpUV7uy // SIG // aY7EcMHy0Q/ptVW4NqC3aTEDwZ63kgC5wLlYj6cckYP/ // SIG // O6+wuSsHsYlOpf+Bu86GKu5fZb9nZxtnr8GeoAq31KQq // SIG // y1vJ1z3VNBvwehx9GeWGFG17NgJxRIhqyXIkuIuLX/wV // SIG // N19y3oh9gWQ+W8xREZUu79h8lC/LJfC4FukqY1Fg4cfv // SIG // FTDZRiO6cBQbMDQOmsIV97+T3sU9DUiYemp7UW2soJDW // SIG // 1aY5WubIqPKRutrEtkSJW3M8YPJKMCjk71/VUA5iNzbk // SIG // 5SuNKMf54DLs4o/F6wVSCIo1RjGTHSyto31lHVpVAiB6 // SIG // sg5v8wvu2dqWBEIefannVDNs23iebpO3Wrf96XPj/AJr // SIG // igGk8vZEqMKVDfWPLTdh/FLMuLTdmLkfejp+T8ZN73GG // SIG // SIiq/GlPI/75gAP5lNY+wa9lA0qhv6IW+ypxtzmxNvqt // SIG // +cBERU5fDkYdQrCYCn40yra0PVmxEDn10lnkhvKMlbwV // SIG // lzSzb4FRS5eLFgQPvejSBkytth9A5z2H // SIG // End signature block