用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

938 lines
28 KiB

// Copyright (c) Microsoft Corporation. All rights reserved.
var bValidating = false;
//SET DIRECTION FUNCTION*************************************
//***********************************************************
function setDirection()
{
if (document.dir == "rtl")
{
//SET CONTENT FRAME FLOW FOR RTL*********************
//***************************************************
var CatcHERa = document.all.tags("LI");
var CatcHERb = document.all.tags("DIV");
var CatcHERc = document.all.tags("SPAN");
var CatcHERd = document.all.tags("INPUT");
var CatcHERe = document.all.tags("TABLE");
var CatcHERf = document.all.tags("BUTTON");
var CatcHERg = document.all.tags("SELECT");
var CatcHERh = document.all.tags("OBJECT");
if (CatcHERa != null)
{
for (var i = 0; i < CatcHERa.length; i++)
{
if (CatcHERa[i].className.toLowerCase() == "list")
{
CatcHERa[i].style.left = "0px";
CatcHERa[i].style.right = "-15px";
}
}
}
if (CatcHERb != null)
{
for (var i = 0; i < CatcHERb.length; i++)
{
if (CatcHERb[i].className.toLowerCase() == "vertline")
{
CatcHERb[i].style.left = "0px";
CatcHERb[i].style.right = "0px";
}
if (CatcHERb[i].className.toLowerCase() == "itemtextradiob")
{
CatcHERb[i].style.left = "0px";
CatcHERb[i].style.right = "25px";
}
if (CatcHERb[i].className.toLowerCase() == "itemtextradioindenta")
{
CatcHERb[i].style.left = "0px";
CatcHERb[i].style.right = "30px";
}
if (CatcHERb[i].className.toLowerCase() == "itemtextradioindentb")
{
CatcHERb[i].style.left = "0px";
CatcHERb[i].style.right = "42px";
}
if (CatcHERb[i].className.toLowerCase() == "itemtextcheckboxa")
{
CatcHERb[i].style.left = "0px";
CatcHERb[i].style.right = "15px";
}
if (CatcHERb[i].className.toLowerCase() == "itemtextcheckboxb")
{
CatcHERb[i].style.left = "0px";
CatcHERb[i].style.right = "25px";
}
if (CatcHERb[i].className.toLowerCase() == "itemtextcheckboxindentb")
{
CatcHERb[i].style.left = "0px";
CatcHERb[i].style.right = "42px";
}
}
}
if (CatcHERc != null)
{
for (var i = 0; i < CatcHERc.length; i++)
{
if (CatcHERc[i].className.toLowerCase() == "vertline1")
{
CatcHERc[i].style.left = "0px";
CatcHERc[i].style.right = "-1px";
}
if (CatcHERc[i].className.toLowerCase() == "itemtextindent")
{
CatcHERc[i].style.left = "0px";
CatcHERc[i].style.right = "17px";
}
}
}
if (CatcHERd != null)
{
for (var i = 0; i < CatcHERd.length; i++)
{
if (CatcHERd[i].className.toLowerCase() == "radio")
{
CatcHERd[i].style.left = "0px";
CatcHERd[i].style.right = "6px";
}
if (CatcHERd[i].className.toLowerCase() == "checkbox")
{
CatcHERd[i].style.marginLeft = "0px";
CatcHERd[i].style.marginRight = "-4px";
}
if (CatcHERd[i].className.toLowerCase() == "checkboxa")
{
CatcHERd[i].style.marginLeft = "0px";
CatcHERd[i].style.marginRight = "10px";
}
if (CatcHERd[i].className.toLowerCase() == "sidebtn")
{
CatcHERd[i].style.left = "0px";
CatcHERd[i].style.right = "9px";
}
if (CatcHERd[i].className.toLowerCase() == "sidebtn2")
{
CatcHERd[i].style.left = "0px";
CatcHERd[i].style.right = "9px";
}
if (CatcHERd[i].className.toLowerCase() == "sidebtnb")
{
CatcHERd[i].style.left = "0px";
CatcHERd[i].style.right = "9px";
}
if (CatcHERd[i].className.toLowerCase() == "checkboxindent")
{
CatcHERd[i].style.marginLeft = "0px";
CatcHERd[i].style.marginRight = "23px";
}
if (CatcHERd[i].className.toLowerCase() == "radioindent")
{
CatcHERd[i].style.marginLeft = "0px";
CatcHERd[i].style.marginRight = "23px";
}
if (CatcHERd[i].className.toLowerCase() == "radioindenta")
{
CatcHERd[i].style.marginLeft = "0px";
CatcHERd[i].style.marginRight = "9px";
}
if (CatcHERd[i].className.toLowerCase() == "comment")
{
CatcHERd[i].style.left = "0px";
CatcHERd[i].style.right = "8px";
}
}
}
if (CatcHERe != null)
{
for (var i = 0; i < CatcHERe.length; i++)
{
if (CatcHERe[i].className.toLowerCase() == "linktextselected")
{
CatcHERe[i].style.left = "0px";
CatcHERe[i].style.right = "10px";
}
if (CatcHERe[i].className.toLowerCase() == "linktextselectedindent")
{
CatcHERe[i].style.left = "0px";
CatcHERe[i].style.right = "16px";
}
if (CatcHERe[i].className.toLowerCase() == "linktext")
{
CatcHERe[i].style.left = "0px";
CatcHERe[i].style.right = "10px";
}
if (CatcHERe[i].className.toLowerCase() == "linktextindent")
{
CatcHERe[i].style.left = "0px";
CatcHERe[i].style.right = "16px";
}
}
}
if (CatcHERf != null)
{
for (var i = 0; i < CatcHERf.length; i++)
{
if (CatcHERf[i].className.toLowerCase() == "buttonclass")
{
CatcHERf[i].style.marginLeft = "0px";
CatcHERf[i].style.marginRight = "8px";
}
}
}
if (CatcHERg != null)
{
for (var i = 0; i < CatcHERg.length; i++)
{
if (CatcHERg[i].className.toLowerCase() == "sidebtn")
{
CatcHERg[i].style.left = "0px";
CatcHERg[i].style.right = "9px";
}
if (CatcHERg[i].className.toLowerCase() == "sidebtn2")
{
CatcHERg[i].style.left = "0px";
CatcHERg[i].style.right = "17px";
}
if (CatcHERg[i].className.toLowerCase() == "sidebtn2a")
{
CatcHERg[i].style.left = "0px";
CatcHERg[i].style.right = "25px";
}
if (CatcHERg[i].className.toLowerCase() == "sidebtn2b")
{
CatcHERg[i].style.left = "0px";
CatcHERg[i].style.right = "8px";
}
}
}
if (CatcHERh != null)
{
for (var i = 0; i < CatcHERh.length; i++)
{
if (CatcHERh[i].className.toLowerCase() == "itemtext")
{
CatcHERh[i].style.left = "0px";
CatcHERh[i].style.right = "8px";
}
}
}
//SET INTRODUCTION FRAME FLOW FOR RTL****************
//***************************************************
//SET INTRODUCTION SUBHEADING TEXT ALIGNMENT*********
document.all("SUBHEAD").style.marginLeft = "0px";
document.all("SUBHEAD").style.marginRight = "10px";
//SET INTRODUCTION IMAGE ALIGNMENT*******************
document.all("IMAGE_TABLE").style.textAlign = "left";
}
}
//SET POTENTIALLY DISABLED TABS FOR MOUSEOVER****************
//***********************************************************
function MouseOver(obj)
{
if ((obj == null) || (typeof(obj) == "undefined"))
return;
else if ((obj.id != "DatSupBtn") || (obj.id != "BrowseBtn"))
{
obj.className = "activelink";
}
else if (obj.id == "DBSupport")
{
if (window.external.FindSymbol("APP_TYPE_DLG"))
{
obj.className = "inactivelink";
}
}
else if ((obj.id == "CompoundDoc") || (obj.id == "DocTemp"))
{
if ((!window.external.FindSymbol("DOCVIEW")) || (window.external.IsSymbolDisabled("DOCVIEW")))
{
obj.className = "inactivelink";
}
}
else if (obj.id == "Notifications")
{
if (!GENERATE_FILTER.checked)
{
obj.className = "inactivelink";
}
}
else if (obj.id == "DatSupBtn")
{
if ((DB_VIEW_WITH_FILE.checked) || (DB_VIEW_NO_FILE.checked))
{
DatSupBtn.disabled = false;
sdstitle.disabled = false;
}
else if ((!DB_VIEW_WITH_FILE.checked) && (!DB_VIEW_NO_FILE.checked))
{
DatSupBtn.disabled = true;
sdstitle.disabled = true;
}
}
}
//SET POTENTIALLY DISABLED TABS FOR MOUSEOUT*****************
//***********************************************************
function MouseOut(obj)
{
if ((obj == null) || (typeof(obj) == "undefined"))
return;
else if (obj.id == "DBSupport")
{
if (obj.className == "")
{
obj.className = ""
}
else
{
obj.className = "activelink";
}
if (window.external.FindSymbol("APP_TYPE_DLG"))
{
obj.className = "inactivelink";
}
}
else if ((obj.id == "CompoundDoc") || (obj.id == "DocTemp"))
{
if (obj.className == "")
{
obj.className = ""
}
else
{
obj.className = "activelink";
}
if ((!window.external.FindSymbol("DOCVIEW")) || (window.external.IsSymbolDisabled("DOCVIEW")))
{
obj.className = "inactivelink";
}
}
else if (obj.id == "Notifications")
{
if (obj.className == "")
{
obj.className = ""
}
else
{
obj.className = "activelink";
}
if (!window.external.FindSymbol("GENERATE_FILTER"))
{
obj.className = "inactivelink";
}
}
else if (obj.id == "DatSupBtn")
{
if ((DB_VIEW_WITH_FILE.checked) || (DB_VIEW_NO_FILE.checked))
{
DatSupBtn.disabled = false;
sdstitle.disabled = false;
}
else if ((!DB_VIEW_WITH_FILE.checked) && (!DB_VIEW_NO_FILE.checked))
{
DatSupBtn.disabled = true;
sdstitle.disabled = true;
}
}
else if (obj.id == "ServerOptions")
{
if (obj.className == "")
{
obj.className = ""
}
else
{
obj.className = "activelink";
}
if ((!window.external.FindSymbol("GENERATE_ISAPI")) && (!window.external.FindSymbol("COMBINE_PROJECTS")))
{
obj.className = "inactivelink";
}
}
else if (obj.id == "AppOptions")
{
if (obj.className == "")
{
obj.className = ""
}
else
{
obj.className = "activelink";
}
if ((!window.external.FindSymbol("GENERATE_APP")) && (!window.external.FindSymbol("COMBINE_PROJECTS")))
{
obj.className = "inactivelink";
}
}
else if (obj.id == "BrowseBtn")
{
obj.disabled = true;
if ((GENERATE_ISAPI.checked) && (GENERATE_ISAPI.disabled == false))
{
obj.disabled = false;
}
}
}
function MouseOutEx(obj)
{
if ((obj == null) || (typeof(obj) == "undefined"))
return;
else if (obj.id == "DocTemp")
{
if (obj.className == "")
{
obj.className = ""
}
else
{
obj.className = "activelink";
}
if ((!window.external.FindSymbol("DOCVIEW")) || (window.external.IsSymbolDisabled("DOCVIEW")))
{
obj.className = "inactivelink";
}
}
}
/******************************************************************************
Description: OnKeyPress event handler for HTML pages
******************************************************************************/
function OnPress()
{
// get outermost window for new UI with frames
var oDefault = window;
while (oDefault != oDefault.parent)
oDefault = oDefault.parent;
var bPreviousTab = false;
if (event.keyCode != 0)
{
if (!event.repeat)
{
switch(event.keyCode)
{
// Enter
case 13:
if (event.srcElement.className && (event.srcElement.className.toLowerCase() == "activelink" || event.srcElement.className.toLowerCase() == "inactivelink"))
{
event.cancelBubble = true;
event.srcElement.click();
break;
}
if (event.srcElement.type == null ||
(event.srcElement.type && event.srcElement.type.toLowerCase() != "button"))
oDefault.FinishBtn.click();
break;
// Backspace
case 8:
if (event.srcElement.type == null ||
(event.srcElement.type && event.srcElement.type.toLowerCase() != "text"))
event.returnValue = false;
break;
// Escape
case 27:
oDefault.CancelBtn.click();
break;
}
}
}
}
/*****************************************************************************
Description: OnKeyDown event handler for HTML pages.
******************************************************************************/
function OnKey()
{
//Get outermost window
var oDefault = window;
while (oDefault != oDefault.parent)
oDefault = oDefault.parent;
var bPreviousTab = false;
if (event.keyCode != 0)
{
if (!event.repeat)
{
switch(event.keyCode)
{
// Enter key for <SELECT>, other controls handled in OnPress()
case 13:
if (event.srcElement.type && event.srcElement.type.substr(0,6).toLowerCase() == "select")
oDefault.FinishBtn.click();
break;
// Escape key for <SELECT>, other controls handled in OnPress()
case 27:
if (event.srcElement.type && event.srcElement.type.substr(0,6).toLowerCase() == "select")
oDefault.CancelBtn.click();
break;
//F1
case 112:
oDefault.HelpBtn.click();
break;
case 65:
case 70:
case 78:
{
if (event.ctrlKey)
event.returnValue = false;
}
break;
//Case for 33,9,34 have to be in this order
//Page Up
case 33:
bPreviousTab = true;
//Tab
case 9:
if (event.shiftKey)
bPreviousTab = true;
//Page Down
case 34:
if (event.ctrlKey && oDefault.tab_array != null && oDefault.tab_array.length > 1)
{
for (i = 0; i < oDefault.tab_array.length; i++)
{
if ((oDefault.tab_array[i].className.toLowerCase() == "activelink") || (oDefault.tab_array[i].className.toLowerCase() == "inactivelink"))
{
var j = 0;
if (bPreviousTab)
{
j = i - 1;
while (j != i)
{
if (j < 0)
{
j = oDefault.tab_array.length - 1;
}
if ((oDefault.tab_array[j].className.toLowerCase() == "activelink") || (oDefault.tab_array[j].className.toLowerCase() == "inactivelink"))
{
j--;
}
else
{
break;
}
}
while ((oDefault.tab_array[j].className.toLowerCase() == "") || (oDefault.tab_array[j].className.toLowerCase() == "inactivelink"))
{
if (j == 0)
{
break;
}
if (oDefault.tab_array[j - 1].className.toLowerCase() == "inactivelink")
{
j--;
}
else
{
break;
}
}
if (j == 0)
{
j = oDefault.tab_array.length - 1;
}
else
{
j = j - 1;
}
}
else
{
j = i + 1;
while (j != i)
{
if (j >= oDefault.tab_array.length)
{
j = 0;
}
if ((oDefault.tab_array[j].className.toLowerCase() == "activelink") || (oDefault.tab_array[j].className.toLowerCase() == "inactivelink"))
{
j++;
}
else
{
break;
}
}
while ((oDefault.tab_array[j].className.toLowerCase() == "") || (oDefault.tab_array[j].className.toLowerCase() == "inactivelink"))
{
if (j == oDefault.tab_array.length - 1)
{
break;
}
if (oDefault.tab_array[j + 1].className.toLowerCase() == "inactivelink")
{
j++;
}
else
{
break;
}
}
if (j == oDefault.tab_array.length - 1)
{
j = 0;
}
else
{
j = j + 1;
}
}
//Prevent double notification when we pop up an error
event.cancelBubble = true;
oDefault.tab_array[j].click();
break;
}
}
}
break;
//Alt-Left arrow
case 37:
if (event.altKey)
event.returnValue = false;
break;
//Alt-Right arrow
case 39:
if (event.altKey)
event.returnValue = false;
break;
default:
break;
}
}
}
}
/******************************************************************************
Description: KeyDown event handler for WizCombo control
nKeyCode: Ascii code for key
******************************************************************************/
function OnWizComboKeyDown(nKeyCode)
{
// Get outermost window
var oDefault = window;
while (oDefault != oDefault.parent)
oDefault = oDefault.parent;
switch(nKeyCode)
{
// Enter
case 13:
oDefault.FinishBtn.click();
break;
// Escape
case 27:
oDefault.CancelBtn.click();
break;
// F1
case 112:
oDefault.HelpBtn.click();
break;
}
}
//DO MOUSEOVER***********************************************
//***********************************************************
function MouseOverActiveText()
{
var e = window.event.srcElement;
if (e && e.className && e.className.toLowerCase() == "activelink")
{
e.className = "activelink2";
}
}
//DO MOUSEOUT************************************************
//***********************************************************
function MouseOutActiveText()
{
var e = window.event.srcElement;
if (e && e.className && e.className.toLowerCase() == "activelink2")
{
e.className = "activelink";
}
}
//SET MOUSEOVERS AND MOUSOUTS********************************
//***********************************************************
document.onmouseover = MouseOverActiveText;
document.onmouseout = MouseOutActiveText;
// SIG // Begin signature block
// SIG // MIIamwYJKoZIhvcNAQcCoIIajDCCGogCAQExCzAJBgUr
// SIG // DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
// SIG // gjcCAR4wJAIBAQQQEODJBs441BGiowAQS9NQkAIBAAIB
// SIG // AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFLrHmeeymnKx
// SIG // +SENZnEJDGGZj25OoIIVgjCCBMMwggOroAMCAQICEzMA
// SIG // AAA0JDFAyaDBeY0AAAAAADQwDQYJKoZIhvcNAQEFBQAw
// SIG // dzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
// SIG // b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
// SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWlj
// SIG // cm9zb2Z0IFRpbWUtU3RhbXAgUENBMB4XDTEzMDMyNzIw
// SIG // MDgyNVoXDTE0MDYyNzIwMDgyNVowgbMxCzAJBgNVBAYT
// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
// SIG // cG9yYXRpb24xDTALBgNVBAsTBE1PUFIxJzAlBgNVBAsT
// SIG // Hm5DaXBoZXIgRFNFIEVTTjpCOEVDLTMwQTQtNzE0NDEl
// SIG // MCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
// SIG // dmljZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
// SIG // ggEBAOUaB60KlizUtjRkyzQg8rwEWIKLtQncUtRwn+Jc
// SIG // LOf1aqT1ti6xgYZZAexJbCkEHvU4i1cY9cAyDe00kOzG
// SIG // ReW7igolqu+he4fY8XBnSs1q3OavBZE97QVw60HPq7El
// SIG // ZrurorcY+XgTeHXNizNcfe1nxO0D/SisWGDBe72AjTOT
// SIG // YWIIsY9REmWPQX7E1SXpLWZB00M0+peB+PyHoe05Uh/4
// SIG // 6T7/XoDJBjYH29u5asc3z4a1GktK1CXyx8iNr2FnitpT
// SIG // L/NMHoMsY8qgEFIRuoFYc0KE4zSy7uqTvkyC0H2WC09/
// SIG // L88QXRpFZqsC8V8kAEbBwVXSg3JCIoY6pL6TUAECAwEA
// SIG // AaOCAQkwggEFMB0GA1UdDgQWBBRfS0LeDLk4oNRmNo1W
// SIG // +3RZSWaBKzAfBgNVHSMEGDAWgBQjNPjZUkZwCu1A+3b7
// SIG // syuwwzWzDzBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v
// SIG // Y3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0
// SIG // cy9NaWNyb3NvZnRUaW1lU3RhbXBQQ0EuY3JsMFgGCCsG
// SIG // AQUFBwEBBEwwSjBIBggrBgEFBQcwAoY8aHR0cDovL3d3
// SIG // dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNyb3Nv
// SIG // ZnRUaW1lU3RhbXBQQ0EuY3J0MBMGA1UdJQQMMAoGCCsG
// SIG // AQUFBwMIMA0GCSqGSIb3DQEBBQUAA4IBAQAPQlCg1R6t
// SIG // Fz8fCqYrN4pnWC2xME8778JXaexl00zFUHLycyX25IQC
// SIG // xXUccVhDq/HJqo7fym9YPInnL816Nexm19Veuo6fV4aU
// SIG // EKDrUTetV/YneyNPGdjgbXYEJTBhEq2ljqMmtkjlU/JF
// SIG // TsW4iScQnanjzyPpeWyuk2g6GvMTxBS2ejqeQdqZVp7Q
// SIG // 0+AWlpByTK8B9yQG+xkrmLJVzHqf6JI6azF7gPMOnleL
// SIG // t+YFtjklmpeCKTaLOK6uixqs7ufsLr9LLqUHNYHzEyDq
// SIG // tEqTnr+cg1Z/rRUvXClxC5RnOPwwv2Xn9Tne6iLth4yr
// SIG // sju1AcKt4PyOJRUMIr6fDO0dMIIE7DCCA9SgAwIBAgIT
// SIG // MwAAALARrwqL0Duf3QABAAAAsDANBgkqhkiG9w0BAQUF
// SIG // ADB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
// SIG // Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
// SIG // TWljcm9zb2Z0IENvcnBvcmF0aW9uMSMwIQYDVQQDExpN
// SIG // aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQTAeFw0xMzAx
// SIG // MjQyMjMzMzlaFw0xNDA0MjQyMjMzMzlaMIGDMQswCQYD
// SIG // VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
// SIG // A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
// SIG // IENvcnBvcmF0aW9uMQ0wCwYDVQQLEwRNT1BSMR4wHAYD
// SIG // VQQDExVNaWNyb3NvZnQgQ29ycG9yYXRpb24wggEiMA0G
// SIG // CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDor1yiIA34
// SIG // KHy8BXt/re7rdqwoUz8620B9s44z5lc/pVEVNFSlz7SL
// SIG // qT+oN+EtUO01Fk7vTXrbE3aIsCzwWVyp6+HXKXXkG4Un
// SIG // m/P4LZ5BNisLQPu+O7q5XHWTFlJLyjPFN7Dz636o9UEV
// SIG // XAhlHSE38Cy6IgsQsRCddyKFhHxPuRuQsPWj/ov0DJpO
// SIG // oPXJCiHiquMBNkf9L4JqgQP1qTXclFed+0vUDoLbOI8S
// SIG // /uPWenSIZOFixCUuKq6dGB8OHrbCryS0DlC83hyTXEmm
// SIG // ebW22875cHsoAYS4KinPv6kFBeHgD3FN/a1cI4Mp68fF
// SIG // SsjoJ4TTfsZDC5UABbFPZXHFAgMBAAGjggFgMIIBXDAT
// SIG // BgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUWXGm
// SIG // WjNN2pgHgP+EHr6H+XIyQfIwUQYDVR0RBEowSKRGMEQx
// SIG // DTALBgNVBAsTBE1PUFIxMzAxBgNVBAUTKjMxNTk1KzRm
// SIG // YWYwYjcxLWFkMzctNGFhMy1hNjcxLTc2YmMwNTIzNDRh
// SIG // ZDAfBgNVHSMEGDAWgBTLEejK0rQWWAHJNy4zFha5TJoK
// SIG // HzBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1p
// SIG // Y3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWND
// SIG // b2RTaWdQQ0FfMDgtMzEtMjAxMC5jcmwwWgYIKwYBBQUH
// SIG // AQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1p
// SIG // Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY0NvZFNpZ1BD
// SIG // QV8wOC0zMS0yMDEwLmNydDANBgkqhkiG9w0BAQUFAAOC
// SIG // AQEAMdduKhJXM4HVncbr+TrURE0Inu5e32pbt3nPApy8
// SIG // dmiekKGcC8N/oozxTbqVOfsN4OGb9F0kDxuNiBU6fNut
// SIG // zrPJbLo5LEV9JBFUJjANDf9H6gMH5eRmXSx7nR2pEPoc
// SIG // sHTyT2lrnqkkhNrtlqDfc6TvahqsS2Ke8XzAFH9IzU2y
// SIG // RPnwPJNtQtjofOYXoJtoaAko+QKX7xEDumdSrcHps3Om
// SIG // 0mPNSuI+5PNO/f+h4LsCEztdIN5VP6OukEAxOHUoXgSp
// SIG // Rm3m9Xp5QL0fzehF1a7iXT71dcfmZmNgzNWahIeNJDD3
// SIG // 7zTQYx2xQmdKDku/Og7vtpU6pzjkJZIIpohmgjCCBbww
// SIG // ggOkoAMCAQICCmEzJhoAAAAAADEwDQYJKoZIhvcNAQEF
// SIG // BQAwXzETMBEGCgmSJomT8ixkARkWA2NvbTEZMBcGCgmS
// SIG // JomT8ixkARkWCW1pY3Jvc29mdDEtMCsGA1UEAxMkTWlj
// SIG // cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
// SIG // MB4XDTEwMDgzMTIyMTkzMloXDTIwMDgzMTIyMjkzMlow
// SIG // eTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
// SIG // b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
// SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjEjMCEGA1UEAxMaTWlj
// SIG // cm9zb2Z0IENvZGUgU2lnbmluZyBQQ0EwggEiMA0GCSqG
// SIG // SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCycllcGTBkvx2a
// SIG // YCAgQpl2U2w+G9ZvzMvx6mv+lxYQ4N86dIMaty+gMuz/
// SIG // 3sJCTiPVcgDbNVcKicquIEn08GisTUuNpb15S3GbRwfa
// SIG // /SXfnXWIz6pzRH/XgdvzvfI2pMlcRdyvrT3gKGiXGqel
// SIG // cnNW8ReU5P01lHKg1nZfHndFg4U4FtBzWwW6Z1KNpbJp
// SIG // L9oZC/6SdCnidi9U3RQwWfjSjWL9y8lfRjFQuScT5EAw
// SIG // z3IpECgixzdOPaAyPZDNoTgGhVxOVoIoKgUyt0vXT2Pn
// SIG // 0i1i8UU956wIAPZGoZ7RW4wmU+h6qkryRs83PDietHdc
// SIG // pReejcsRj1Y8wawJXwPTAgMBAAGjggFeMIIBWjAPBgNV
// SIG // HRMBAf8EBTADAQH/MB0GA1UdDgQWBBTLEejK0rQWWAHJ
// SIG // Ny4zFha5TJoKHzALBgNVHQ8EBAMCAYYwEgYJKwYBBAGC
// SIG // NxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQU/dExTtMm
// SIG // ipXhmGA7qDFvpjy82C0wGQYJKwYBBAGCNxQCBAweCgBT
// SIG // AHUAYgBDAEEwHwYDVR0jBBgwFoAUDqyCYEBWJ5flJRP8
// SIG // KuEKU5VZ5KQwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDov
// SIG // L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVj
// SIG // dHMvbWljcm9zb2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUF
// SIG // BwEBBEgwRjBEBggrBgEFBQcwAoY4aHR0cDovL3d3dy5t
// SIG // aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNyb3NvZnRS
// SIG // b290Q2VydC5jcnQwDQYJKoZIhvcNAQEFBQADggIBAFk5
// SIG // Pn8mRq/rb0CxMrVq6w4vbqhJ9+tfde1MOy3XQ60L/svp
// SIG // LTGjI8x8UJiAIV2sPS9MuqKoVpzjcLu4tPh5tUly9z7q
// SIG // QX/K4QwXaculnCAt+gtQxFbNLeNK0rxw56gNogOlVuC4
// SIG // iktX8pVCnPHz7+7jhh80PLhWmvBTI4UqpIIck+KUBx3y
// SIG // 4k74jKHK6BOlkU7IG9KPcpUqcW2bGvgc8FPWZ8wi/1wd
// SIG // zaKMvSeyeWNWRKJRzfnpo1hW3ZsCRUQvX/TartSCMm78
// SIG // pJUT5Otp56miLL7IKxAOZY6Z2/Wi+hImCWU4lPF6H0q7
// SIG // 0eFW6NB4lhhcyTUWX92THUmOLb6tNEQc7hAVGgBd3TVb
// SIG // Ic6YxwnuhQ6MT20OE049fClInHLR82zKwexwo1eSV32U
// SIG // jaAbSANa98+jZwp0pTbtLS8XyOZyNxL0b7E8Z4L5UrKN
// SIG // MxZlHg6K3RDeZPRvzkbU0xfpecQEtNP7LN8fip6sCvsT
// SIG // J0Ct5PnhqX9GuwdgR2VgQE6wQuxO7bN2edgKNAltHIAx
// SIG // H+IOVN3lofvlRxCtZJj/UBYufL8FIXrilUEnacOTj5XJ
// SIG // jdibIa4NXJzwoq6GaIMMai27dmsAHZat8hZ79haDJLmI
// SIG // z2qoRzEvmtzjcT3XAH5iR9HOiMm4GPoOco3Boz2vAkBq
// SIG // /2mbluIQqBC0N1AI1sM9MIIGBzCCA++gAwIBAgIKYRZo
// SIG // NAAAAAAAHDANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZIm
// SIG // iZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWlj
// SIG // cm9zb2Z0MS0wKwYDVQQDEyRNaWNyb3NvZnQgUm9vdCBD
// SIG // ZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDcwNDAzMTI1
// SIG // MzA5WhcNMjEwNDAzMTMwMzA5WjB3MQswCQYDVQQGEwJV
// SIG // UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
// SIG // UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
// SIG // cmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGltZS1T
// SIG // dGFtcCBQQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
// SIG // ggEKAoIBAQCfoWyx39tIkip8ay4Z4b3i48WZUSNQrc7d
// SIG // GE4kD+7Rp9FMrXQwIBHrB9VUlRVJlBtCkq6YXDAm2gBr
// SIG // 6Hu97IkHD/cOBJjwicwfyzMkh53y9GccLPx754gd6udO
// SIG // o6HBI1PKjfpFzwnQXq/QsEIEovmmbJNn1yjcRlOwhtDl
// SIG // KEYuJ6yGT1VSDOQDLPtqkJAwbofzWTCd+n7Wl7PoIZd+
// SIG // +NIT8wi3U21StEWQn0gASkdmEScpZqiX5NMGgUqi+YSn
// SIG // EUcUCYKfhO1VeP4Bmh1QCIUAEDBG7bfeI0a7xC1Un68e
// SIG // eEExd8yb3zuDk6FhArUdDbH895uyAc4iS1T/+QXDwiAL
// SIG // AgMBAAGjggGrMIIBpzAPBgNVHRMBAf8EBTADAQH/MB0G
// SIG // A1UdDgQWBBQjNPjZUkZwCu1A+3b7syuwwzWzDzALBgNV
// SIG // HQ8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAwgZgGA1Ud
// SIG // IwSBkDCBjYAUDqyCYEBWJ5flJRP8KuEKU5VZ5KShY6Rh
// SIG // MF8xEzARBgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJ
// SIG // k/IsZAEZFgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jv
// SIG // c29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eYIQ
// SIG // ea0WoUqgpa1Mc1j0BxMuZTBQBgNVHR8ESTBHMEWgQ6BB
// SIG // hj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
// SIG // bC9wcm9kdWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmww
// SIG // VAYIKwYBBQUHAQEESDBGMEQGCCsGAQUFBzAChjhodHRw
// SIG // Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01p
// SIG // Y3Jvc29mdFJvb3RDZXJ0LmNydDATBgNVHSUEDDAKBggr
// SIG // BgEFBQcDCDANBgkqhkiG9w0BAQUFAAOCAgEAEJeKw1wD
// SIG // RDbd6bStd9vOeVFNAbEudHFbbQwTq86+e4+4LtQSooxt
// SIG // YrhXAstOIBNQmd16QOJXu69YmhzhHQGGrLt48ovQ7DsB
// SIG // 7uK+jwoFyI1I4vBTFd1Pq5Lk541q1YDB5pTyBi+FA+mR
// SIG // KiQicPv2/OR4mS4N9wficLwYTp2OawpylbihOZxnLcVR
// SIG // DupiXD8WmIsgP+IHGjL5zDFKdjE9K3ILyOpwPf+FChPf
// SIG // wgphjvDXuBfrTot/xTUrXqO/67x9C0J71FNyIe4wyrt4
// SIG // ZVxbARcKFA7S2hSY9Ty5ZlizLS/n+YWGzFFW6J1wlGys
// SIG // OUzU9nm/qhh6YinvopspNAZ3GmLJPR5tH4LwC8csu89D
// SIG // s+X57H2146SodDW4TsVxIxImdgs8UoxxWkZDFLyzs7BN
// SIG // Z8ifQv+AeSGAnhUwZuhCEl4ayJ4iIdBD6Svpu/RIzCzU
// SIG // 2DKATCYqSCRfWupW76bemZ3KOm+9gSd0BhHudiG/m4LB
// SIG // J1S2sWo9iaF2YbRuoROmv6pH8BJv/YoybLL+31HIjCPJ
// SIG // Zr2dHYcSZAI9La9Zj7jkIeW1sMpjtHhUBdRBLlCslLCl
// SIG // eKuzoJZ1GtmShxN1Ii8yqAhuoFuMJb+g74TKIdbrHk/J
// SIG // mu5J4PcBZW+JC33Iacjmbuqnl84xKf8OxVtc2E0bodj6
// SIG // L54/LlUWa8kTo/0xggSFMIIEgQIBATCBkDB5MQswCQYD
// SIG // VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
// SIG // A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
// SIG // IENvcnBvcmF0aW9uMSMwIQYDVQQDExpNaWNyb3NvZnQg
// SIG // Q29kZSBTaWduaW5nIFBDQQITMwAAALARrwqL0Duf3QAB
// SIG // AAAAsDAJBgUrDgMCGgUAoIGeMBkGCSqGSIb3DQEJAzEM
// SIG // BgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgor
// SIG // BgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBSv+Lnb50tG
// SIG // II01Vwa0OoSofvCbFzA+BgorBgEEAYI3AgEMMTAwLqAU
// SIG // gBIAUwBjAHIAaQBwAHQALgBqAHOhFoAUaHR0cDovL21p
// SIG // Y3Jvc29mdC5jb20wDQYJKoZIhvcNAQEBBQAEggEAcoXi
// SIG // cHkMAtLVp7UGOvDwQhO73PCpVlO2BFWFqV45ljQQAfwo
// SIG // /GL6L0y/FVl1L7SoQB7IkG5EvJVA649uqtJ7X8Gza6kS
// SIG // CjuX77sm97QdiVumarzlTlze36bz2sfqtQc25xsVSriw
// SIG // /KbemK6a7/2Ms5B3kUEkMJ54th9ad7pTootXpd06d7Hl
// SIG // yDWPRVIKMaPK9ibvl3k7XHYm4wBk7hzVhEl6oH2TAJ39
// SIG // BtptIvsKeTeRKzk0NWrabwYY2wCfBTvj4+IXmUyA9T/m
// SIG // kG/f5lF3tr0bvN/78akW57krN9fS09PXF9qblIKeOZSg
// SIG // 01+Migy7EH+qzMncVjHP9Ms9YUtQl6GCAigwggIkBgkq
// SIG // hkiG9w0BCQYxggIVMIICEQIBATCBjjB3MQswCQYDVQQG
// SIG // EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
// SIG // BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
// SIG // cnBvcmF0aW9uMSEwHwYDVQQDExhNaWNyb3NvZnQgVGlt
// SIG // ZS1TdGFtcCBQQ0ECEzMAAAA0JDFAyaDBeY0AAAAAADQw
// SIG // CQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG
// SIG // 9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTEzMTAwNTA4NTQx
// SIG // OVowIwYJKoZIhvcNAQkEMRYEFFrsK5y3HHyP7qLujxrd
// SIG // HAUMvxV2MA0GCSqGSIb3DQEBBQUABIIBAM8/KjeTTiyi
// SIG // Wer2jBg4k8+PwkTldbA5F67f34lTCe72B/Gq8SX8+yWu
// SIG // /ggeyl3AwLUYCkZ3MdTfRPoaR9ZI+BWHH76mE8kbDPn/
// SIG // 7Jmahw1XSZMkuSc2l3X+AtzUbAPd/hIvW1C1w29cCN4U
// SIG // sgFFcRfddYFl7Q0xVTzyXpYoxEZOw4GI7hTA3bj83SUm
// SIG // hBJpqXsDSTkak7KjiT5UnkI5pZPWfuY6pjONDU3Xe97z
// SIG // cZpajEUKqkwF5m3B4PdS3+twOrEPrhJAfOup25AbdwMU
// SIG // DcS7QUJeoWUrFgCXEGVfKvqC2ZLmCDACMgXTg8aRXjdr
// SIG // s4yry9iKuS1jCmS27AEdLlM=
// SIG // End signature block